{"cells":[{"cell_type":"code","execution_count":1,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":775},"executionInfo":{"elapsed":21918,"status":"ok","timestamp":1741287484622,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"g4SoHEh92xCc","outputId":"c17f14b2-67ec-4a4e-d04c-8264ca602b34"},"outputs":[{"output_type":"stream","name":"stdout","text":["Mounted at /content/drive\n","labels\n","none    1000\n","emp      700\n","dur      700\n","Name: count, dtype: int64\n"]},{"output_type":"display_data","data":{"text/plain":["<Figure size 1000x600 with 1 Axes>"],"image/png":"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Dh8+7NDnEO+9996ze/7yyy/bPtP/KmG9UVFRunr1ql588UVJSvT/laQOHTrYPf/ggw8k3e/AQJK+//57Wa1WNWzY0O47Exoaqnz58tn9Tx2RJUsWvf7667bn/v7+atGihXbv3q2LFy9Kun+0zMvLS3PnzrW1W716ta5evZos17bFH7W8deuWJMnT09N2DWNcXJyuXbsmX19fFShQ4IGf3YMk/Pzv3Lmjq1evqly5cjLG2E5vTZcunTw8PLRhwwbduHHjgfNZs2aNbt68qcaNG9t97q6uripTpkySP3cATz9O7QOQKrzwwgv/2NnE33v0O3bsmKT7AethwsPDFR0drbt37ypfvnyJxhcoUMC2keuIK1eu6ObNm5o6daqmTp36wDaXL1+2e54wxElS+vTpJcm28XfixAlJ/95TYbVq1ZQ5c2bNnTtXVatWldVq1fz581W3bl35+fn9Y82RkZEqUKBAonGFChWS1WrVmTNnVKRIkX98/YfJly+fXnnllX9sc/DgQX3yySdat25dotAWHh4u6dE/B0ny8vJScHCw3bD06dM/dIPaUdevX9fAgQO1YMGCRP/P+HoT+vt3LG/evHJxcbFdq3Ps2DEZYx74XZQkd3f3JNX5zDPPJAqZ+fPnl3T/ur/Q0FAFBgaqTp06mjdvngYPHizpfgDPmjWrqlSpkqTXTej27duSZPsOWq1WffHFF5o4caJOnjxpd91ahgwZHmmeYWFh6tevn3744YdE/9P4z9/T01OfffaZunfvrpCQEL344ot67bXX1KJFC4WGhkr6v3XFw96nv7+/A+8UQGpCkAKQJiTcOy3d31CTpJEjRz6022RfX19FR0c/8ms87MLyv3deEP/azZo1e2iQK168uN1zV1fXB7YzxjxyffHzadKkib766itNnDhRmzZt0vnz51N8j3k3b95UxYoV5e/vr0GDBilv3rzy8vLSrl271Lt3b9tn6oiHfabJpWHDhtq8ebN69uypEiVKyNfXV1arVTVr1nykev/+fbJarbJYLFq5cuUDa3/cNxhu0aKFFi1apM2bN6tYsWL64Ycf1L59+2Tp/fLAgQPKlCmTLZR8+umn6tu3r95++20NHjxYQUFBcnFxUZcuXR7ps4uLi1O1atV0/fp19e7dWwULFpSPj4/OnTunVq1a2c2jS5cuqlOnjpYuXarVq1erb9++GjZs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CgAAAAAcRJACAAD4m6NHjzq7BAApHEEKcNDOnTslSXR4CST22Wef6ddff3V2GcB/MnjwYDVr1kxbt251dilAivTNN98oOjra2WU4HUEKcMCUKVP0/PPP68cff5TFYiFMAQmcPHlSw4YN09ixY9kAxVOtQIECypAhgwYPHqzNmzc7uxwgRdm+fbvatm2r3r176969e84ux6kIUoADKlWqpHfffVfNmzfX8uXLCVPA/2eMUe7cubVhwwYdOnRII0eO1KZNm5xdFpAkDRs2VKdOneTl5aWhQ4dqx44dzi4JSDGef/55/fDDD5o6daq6d++uqKgoZ5fkNAQpwAEFChTQJ598orffflvNmzfXunXrCFOAJKvVKkkqUaKEJk2apF27dmnChAnatm2bkysDHl3891iS0qVLp6CgIG3btk0fffQRYQqQFBcXJ0l67bXXtGjRIk2aNEmffvqp7t696+TKnIMgBTyChD+ua9eulZubmyIiIlSvXj2tWrWKMIU0zRgjV1dXSVKfPn303XffyRijb7/9Vv369dMff/zh5AqBR+Picn+zqGvXrmrbtq38/f1VvXp17d+/X3379uWUVaRpCdf1Q4YM0W+//SY/Pz8NGTJEH3/8cZq8Zspi2PoDHlnv3r01Z84cffzxx7p48aI2btyovXv3au7cuXr11VdljJHFYnF2mYBTjB8/Xv369dPKlSvl5+eny5cvq0mTJipVqpT69eunF154wdklAv/qjz/+UP369TV//ny9/PLLkqSFCxdq0qRJ8vT01KeffqqSJUs6uUrAeYYOHarPP/9cc+bMUUxMjI4cOaKPP/5Y7733nkaMGCFPT09nl/jEuDm7AOBpERYWphUrVmjcuHFq0KCBJOngwYMaNWqUmjRpou+++07VqlUjTCHN2rVrl2rXrq0XX3xRklSkSBH9+OOPqlq1qgYOHKi+ffvaxgEplaurqyIjI+Xu7m4b1rBhQ927d09t27bVxx9/rD59+qhChQpOrBJwjpiYGP3+++9q3769atasKUmqU6eOcuTIoaZNm8rLy0v9+/eXt7e3kyt9Mji1D3hEcXFxOnnypN1pfkWKFNEHH3ygoKAgvfnmm1qyZAkhCmlOXFycjDGKiYmxXXQcFxene/fuqWTJkhowYIDWrVun/v37a//+/U6uFvg/CU/Kif/bw8NDGTNm1MmTJ+2GN2vW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uXLl0tChQ7Vz505bm7t37ypnzpwKCAh44rUiMU7tQ4pz7949zZo1S++//77ee+89NWzYUIGBgerdu7euX7+uzZs301sTUrWEFwpPnTpVBw4cULZs2VSzZk0VL15cV65c0QcffKAdO3aoWLFiKlGihPbu3auDBw/q4MGDHKHFU+Po0aMaO3asJk+erMyZM6tmzZo6c+aMfvzxR7m7u9M7H1K1hOv6xYsX66+//tLzzz+v/PnzK0uWLLp69apKliwpb29vNWvWTPny5dPcuXN14sQJ7du3jyNQKQBBCilS/DVTXbp00Z07d9S1a1edPHlS3377LT+uSNUSfrc/+ugjffXVVypRooSuXr0qY4y++OILVaxYUVevXlX37t21cOFCPf/883rjjTfUvn17Ol7BU+fEiRMaP368Zs6cqZEjR6pNmzayWCxc+4pULWGI6t27t77++muFhITo5s2bqlevnt577z0VL15cV69eVfny5XX06FE1adJEmTNn1rBhw1jXpxBsieKJOXHixCO3dXd3V7NmzTR58mRJUv78+fX999/L3d1dsbGxhCikWvHf7aNHjyoiIkKrVq3SmjVrNHHiRBUqVEitW7fWxo0blTFjRo0ZM0YVKlRQ2bJl9cEHH/DDihQh4alKj7KvNm/evGrTpo0GDBig1q1b2262S4hCahYforZv366DBw9q5cqV+vPPPzVgwADt3btXo0aN0t69e5UxY0Zt2bJF3t7eypQpk0aOHMm6PgXhiBSeiKFDh6pv3776448/VLp06UeeLioqSmvWrFGtWrX4UUWa8d1336l79+4KDg7Wjz/+qJCQEEnSzp07NXLkSO3YsUPffPONKlasqBs3biggIEAuLi7cOwQpSkxMjG3nlyPrb844QFoxZ84cLVu2TC4uLpo3b54tGE2fPl1ff/21nnnmGXXv3l3FixfXzZs35efnZ7tmlnV9ysCaCk9E165dVbt2bb3++uvasWPHI0/n5eWlOnXqyM3NTVar9ZH2bgJPm/g9+Am/34UKFdLRo0d1/fp127BSpUqpZ8+eKlOmjGrXrq3du3crffr0cnFxkdVq5YcVTpXwSNTChQtVsGBB3blzR25uboqNjX3odPG9T0rSzZs3CVFItf6+rj9w4IB+/fVX7d69W5cuXbK1a926tdq2bauTJ0/q448/1vHjxxUYGGjrxZV1fcrB2gqPXWxsrLy9vbV06VKVLl1ab7zxhl0PNA+T8Ef59OnTcnFxYeWBVCl+w3Hjxo2SpDfeeENdu3ZViRIl1Lx5cx08eNDWtlSpUvrggw/Uo0cPFS9ePNE8AGdIeBRp2bJl2rNnj06ePKk6der8Y5gyxtj2wk+ZMkWffvqpbt++/URrB56U+GVkz549kqThw4frww8/lDFGI0aM0JkzZ2xtW7VqpbfeektZs2ZVnjx5bMM5nS9l4ZcXj5XVarWd0rFw4UJVq1ZNYWFhat68+T8emTLG2FY4U6ZM0bvvvquLFy8+kZoBZ9i9e7eqVKmiXr16SZJq1Kih3r17K1OmTHrnnXf0559/2tq++OKLGjhwoG3vJOBs8evrHj16qFevXnJzc1P9+vV15MgRVapUSbdv304Upv7eO2WnTp1UpkwZ+fr6OuU9AE/CypUrVb9+fdvtK7p27apWrVrp119/1RdffKGzZ8/a2nbo0EGTJk2ynXWAlIcghccq/se1T58+6tatm4wx6tGjh3x8fFSvXr0Hhqm//7jG32skNDT0idYOPEn58+fXl19+qfHjx6tPnz6SpFdffVXt27dXUFCQ2rVrp3379iWajr2TSCm2b9+uefPmadKkSRo0aJC+++47TZkyRbGxsapatartyFRcXJzden7KlCnq2bOn5s+frwYNGjj5XQCPV/bs2VW1alXNmDHD1qHWxx9/rAYNGmj9+vUaN26cTp8+bWsf3/kKZx2kUAZ4zE6dOmVy5sxpvv32W9uwS5cumWrVqpns2bObHTt22IbHxcXZ/p48ebLx9/c3ixcvfqL1As5y584dM2nSJOPm5mY+/PBD2/AVK1aYF154wbRr186J1QH/bPXq1cbPz8+cPHnSNiw6OtrMmzfPeHh4mMqVK5vbt28bY4yJiYkxxtxfzwcEBJjvvvvOGSUDj5XVan3g8EOHDpl27dqZkiVLmkmTJtmGDx061GTNmtV8+eWXT6pE/EcEKTx2R44cMenTpzdbt241xvxfWPrrr79MtmzZTMmSJc3mzZvtppk0aZIJDAzkxxWp2siRI83IkSPtht2+fdtMmjTJWCwWM2DAANvwTZs22e1oAJzpQRuIYWFhpnDhwmbChAl2w69du2aKFi1qMmfObCpUqGAiIyONMcZMnDjR+Pv7s55HqjdnzhyzaNEiu2F//vmnadeunSlatKiZPn26bfiMGTNMbGzsE64QScVxQiQr84Be9fLnz6/s2bPbDmHHH57OlCmTnnnmGR04cEDDhw+3tV+0aJF69Oihr776itM8kGrduXNHly5dUt++fW3nykuSj4+PmjZtqgYNGmjgwIHq2rWrJKlcuXKcJ48UIWEPkXfv3lVkZKQkKSgoSM8++6wWLVqkH374wdY+Li5OhQoV0tChQxUeHq758+dLkk6dOqVp06axnkeqdu7cOU2fPl1ffPGFVqxYYRteqFAhde3aVXFxcRoyZIjGjh0rSWrZsiXXvz5FCFJINgl/XMPCwnTq1CmdO3dOktSpUyft3btXffv2tbV3c3NTpkyZ9Mcff2jJkiW24ZGRkVq6dKneeOONJ/sGgCfIx8dH3bt3V58+ffThhx9qwoQJtnF+fn4qUKCAKleurH379sncP3tAEr3zwfniv4NDhgzR//73P7388suaP3++fHx89Pnnn8vFxUXDhw9X+/btNXfuXL355puKiIjQW2+9paioKFvHKZ999hkhCqle1qxZNXDgQIWGhmrUqFF2OxkKFiyoEiVKyNvbW4cPH7bbGc31r08H7nCKZGESXAjZr18/rV27VsePH1fp0qX1yiuvqGvXrgoLC9PixYu1fv16VahQQevWrdPdu3dVtGhRubi42G7a2LJlSye/G+DJCA0NVbt27WS1WvXRRx/JYrGoffv2unPnjo4fP642bdqoSZMmkh58tBd4khJ2cT569Gh9+eWXateunU6fPq2mTZvqyJEjGjBggBYsWKBx48bp559/1qZNm5QtWzYtXrxYXl5eypkzp7JlyyZJ3FQUqV78d/yll16SxWLRqFGj9Pnnn8tisdhuDeDh4aE+ffqoUaNGto4lWC6eHhbDrzOS0aBBg/TFF19owYIFypw5s4YOHapvv/1Wp0+flp+fn7Zt26bJkycrLi5OAQEBmjZtmtzd3bmTPdK0ixcv6ptvvlHfvn317LPPKjo6Wh4eHtqxY4fc3Nz4YUWKcuTIEX377bd68cUXVb16dUnS119/rXbt2qlv374aOHCgpPsbkTdv3lT69OklSR999JG++eYbbd68WXnz5nVa/YCzbN68WePGjdOOHTtUtGhRXb16VZGRkdqxY4ft1G22hZ4uHJFCsrl69ap+++03zZw5U9WqVdOqVav0448/aurUqcqePbuk+/fGqVGjhuLi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1xcvLy+mTp1qBlM3btzg6NGj1KhRo5RbLSIiIvZKVftE5JGRlJTEkCFDWL9+Pe3atTO3JyQkEBkZSVJSEp6enhQUFGAYBmlpaTg5OanEuYiIiPzuVGxCRB4Z586dw8XFhWeffRb4d7pft27d8PLy4uzZsyQnJ1OlShUCAgJwdHTUEgAiIiLyh9DbhYg89ApHlPLz84sVi3BwcDAXnE5NTaVZs2b4+vqa+61Wq4IoERER+UNojpSIPPQK0/K8vb359ttvWbJkibm9XLly5ObmEhUVxfbt24udp8ISIiIi8kfRHCkReaSsWrWKwMBA3n77bbp27Ur58uWZO3cuWVlZpKamagRKREREHggFUiLySDEMg4SEBEaMGIHVasXd3Z3q1auzdetWnJyczFQ/ERERkT+SAikReSRlZ2eTk5ODzWajbt26WCwWFZYQERGRB0aBlIjYhaIL9oqIiIj80RRIiYiIiIiIlJC6b0VEREREREpIgZSIiIiIiEgJKZASEREREREpIQVSIiIiIiIiJaRASkREREREpIQUSImIiIiIiJSQAikRESnz1q5di7u7+/98HQcHB+Lj4//n64iIyMNPgZSIiNiFgQMH8tprr5V2M0REpIxQICUiIiIiIlJCCqRERMTuLVq0iOeee46KFStSs2ZN3nnnHXJzc+85Lj4+nnr16uHs7EyXLl04f/58sf1btmyhWbNmODs7U6dOHWbMmMGdO3ce1McQEZGHiAIpERGxexaLhaVLl3Ly5Ek++ugjdu/eTVBQULFj8vLymDNnDuvWrePAgQNcvXqVPn36mPu//PJL+vfvz8iRIzl16hQffPABa9euZc6cOQ/644iIyEPAwTAMo7QbISIi8r8aOHAgV69e/VXFHmJjYxk6dCjZ2dnA3WITgwYN4vDhw7Rq1QqA06dP4+npyZEjR2jZsiU+Pj507tyZSZMmmdeJiooiKCiIH3/8EbhbbCIuLk5ztUREygDH0m6AiIjIH23Xrl0EBwdz+vRprl27xp07d7h58yZ5eXm4uLgA4OjoSIsWLcxznnnmGdzd3fnmm29o2bIlx48f58CBA8VGoKxW6z3XERGRskGBlIiI2LXvv/+erl278vbbbzNnzhyeeOIJ9u/fz+DBg7l169avDoByc3OZMWMGPXr0uGefs7Pz791sERF5yCmQEhERu5aamorNZmPhwoVYLHenBkdHR99z3J07d0hJSaFly5YAnDlzhqtXr+Lp6QlAs2bNOHPmDE8//fSDa7yIiDy0FEiJiIjdyMnJIT09vdi2J598ktu3b7Ns2TJeffVVDhw4wMqVK+8518nJieHDh7N06VIcHR0JDAykdevWZmA1bdo0unbtyl/+8hd69uyJxWLh+PHjnDhxgtmzZz+IjyciIg8RVe0TERG7sWfPHpo2bVrs3/r161m0aBGhoaF4eXmxYcMGgoOD7znXxcWFCRMm0LdvX9q1a4erqyv/+Mc/zP1dunRh69atfP7557Ro0YLWrVuzePFiatWq9SA/ooiIPCRUtU9ERERERKSENCIlIiIiIiJSQgqkRERERERESkiBlIiIiIiISAkpkBIRERERESkhBVIiIiIiIiIlpEBKRERERESkhBRIiYiIiIiIlJACKRERERERkRJSICUiIiIiIlJCCqRERERERERKSIGUiIiIiIhICSmQEhERERERKaH/B4eQjEw5HhW4AAAAAElFTkSuQmCC\n"},"metadata":{}}],"source":["import pandas as pd\n","from google.colab import drive\n","from collections import Counter\n","import matplotlib.pyplot as plt\n","import seaborn as sns\n","\n","drive.mount('/content/drive')\n","\n","df_strong_unbalanced = pd.read_csv(\"/content/drive/MyDrive/personality/classification/data/input/labeled_unbalanced_sample_strong.csv\")\n","df_weak_unbalanced   = pd.read_csv(\"/content/drive/MyDrive/personality/classification/data/input/labeled_unbalanced_sample_combined.csv\")\n","df_strong_balanced   = pd.read_csv(\"/content/drive/MyDrive/personality/classification/data/input/labeled_balanced_sample_strong.csv\")\n","df_weak_balanced     = pd.read_csv(\"/content/drive/MyDrive/personality/classification/data/input/labeled_balanced_sample_combined.csv\")\n","\n","\n","### update code here\n","# 1) Rename the label columns and add dataset labels\n","df_strong_unbalanced['dataset'] = 'strong_unbalanced'\n","\n","df_weak_unbalanced['dataset'] = 'combined_unbalanced'\n","\n","df_strong_balanced['dataset'] = 'strong_balanced'\n","\n","df_weak_balanced['dataset'] = 'combined_balanced'\n","\n","# 2) Concatenate all four datasets\n","df = pd.concat(\n","    [\n","        df_strong_unbalanced,\n","        df_weak_unbalanced,\n","        df_strong_balanced,\n","        df_weak_balanced\n","    ],\n","    ignore_index=True\n",")\n","\n","# 3) Shuffle the combined DataFrame (optional, but often useful)\n","df = df.sample(frac=1, random_state=42).reset_index(drop=True)\n","\n","# 4) Verify the result\n","print(df['labels'].value_counts())\n","\n","# 5) Convert counts to DataFrame for plotting\n","label_counts = df.groupby(['dataset', 'labels']).size().reset_index(name='count')\n","\n","# 6) Plot the grouped bar chart\n","plt.figure(figsize=(10, 6))\n","sns.barplot(x='dataset', y='count', hue='labels', data=label_counts)\n","plt.xlabel('Label')\n","plt.ylabel('Frequency')\n","plt.title('Frequency of Each Label by Dataset')\n","plt.xticks(rotation=45)\n","plt.legend(title='Dataset')\n","plt.show()\n"]},{"cell_type":"code","execution_count":4,"metadata":{"id":"oICZhH3n3LJf","executionInfo":{"status":"ok","timestamp":1741287496486,"user_tz":-60,"elapsed":2044,"user":{"displayName":"Lukas","userId":"09276477477582089903"}}},"outputs":[],"source":["from openai import OpenAI\n","\n","client = OpenAI(api_key='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')"]},{"cell_type":"code","execution_count":3,"metadata":{"id":"TEqcPDIU3yR6","executionInfo":{"status":"ok","timestamp":1741287493382,"user_tz":-60,"elapsed":53,"user":{"displayName":"Lukas","userId":"09276477477582089903"}}},"outputs":[],"source":["# @title Prompting Templates GPT\n","\n","## There are a total of 6 templates\n","## Zero-shot & few-shot\n","## Strong and Weak\n","## gpt-4o and open source\n","\n","\n","### Zero-Shot & Explicit\n","def classify_text_explicit_zeroshot_4o(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","\n","\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format:\n","\n","    Ergebnis: [emp, dur, none]\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Main Sentence (to classify): {sentence}\n","    \"\"\"\n","\n","    response = client.chat.completions.create(\n","        model=\"gpt-4o\",  # Choose an appropriate model\n","        messages=[\n","            {\"role\": \"system\", \"content\": role_description},\n","            {\"role\": \"user\", \"content\": user_message}\n","        ],\n","        max_tokens=150,\n","        seed = seed\n","\n","    )\n","    synthetic_text = response.choices[0].message.content.strip()\n","\n","    return synthetic_text\n","\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_implicit_zeroshot_4o(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","    - Wenn moralische Bewertung nicht explizit empathisch, sondern faktenbasiert / argumentierend\n","    - Verweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben);\n","    -  Empathischer Fokus auf politischen Einheiten\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","   - Generelle Verweise auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben\n","   - Generelle Verweise auf formale oder faktische Führungs- oder Machtposition\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format:\n","\n","    Ergebnis: [emp, dur, none]\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Main Sentence (to classify): {sentence}\n","    \"\"\"\n","\n","    response = client.chat.completions.create(\n","        model=\"gpt-4o\",  # Choose an appropriate model\n","        messages=[\n","            {\"role\": \"system\", \"content\": role_description},\n","            {\"role\": \"user\", \"content\": user_message}\n","        ],\n","        max_tokens=150,\n","        seed = seed\n","\n","    )\n","    synthetic_text = response.choices[0].message.content.strip()\n","\n","    return synthetic_text\n","\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_explicit_fewshot_4o(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format:\n","\n","    Ergebnis: [emp, dur, none]\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","\n","Beispiele\n","„Die Anzahl der Wohnungslosen ist zu hoch, das ist eine humanitäre Katastrophe“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","„Arme Leute haben Bedenken, dass andere ihre Lage ausnutzen“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","\"Es ist wichtig, die Sorgen und Nöte der Menschen zu verstehen, um echte Lösungen zu finden, die niemanden zurücklassen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage fordert konkret Mitgefühl und Empathie]\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage verweist auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)]\n","\n","Beispiele\n","„Wir wollen das auch gegen Widerstände durchsetzen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage bezieht sich auf konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen]\n","\n","„wir wollen gewählt werden, um einen Politikwechsel durchzuführen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Wille zur Übernahme und aktive Ausführung von Führung]\n","\n","\"In entscheidenden Momenten übernehme ich die Verantwortung und setze mich entschlossen für das ein, was richtig is\"\n","Ergebnis: [dur]\n","Erläuterung: []\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf eigene wahrgenommene Führungsrolle ]\n","\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Sentence to classify: {sentence}\n","    \"\"\"\n","\n","    response = client.chat.completions.create(\n","        model=\"gpt-4o\",  # Choose an appropriate model\n","        messages=[\n","            {\"role\": \"system\", \"content\": role_description},\n","            {\"role\": \"user\", \"content\": user_message}\n","        ],\n","        max_tokens=150,\n","        seed = seed\n","    )\n","    synthetic_text = response.choices[0].message.content.strip()\n","\n","    return synthetic_text\n","\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_implicit_fewshot_4o(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","    - Wenn moralische Bewertung nicht explizit empathisch, sondern faktenbasiert / argumentierend\n","    - Verweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben);\n","    -  Empathischer Fokus auf politischen Einheiten\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","   - Generelle Verweise auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben\n","   - Generelle Verweise auf formale oder faktische Führungs- oder Machtposition\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format:\n","\n","    Ergebnis: [emp, dur, none]\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","Beispiele\n","„Die Anzahl der Wohnungslosen ist zu hoch, das ist eine humanitäre Katastrophe“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte)a Menschen(gruppen) oder Personen]\n","\n","„Arme Leute haben Bedenken, dass andere ihre Lage ausnutzen“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","\"Es ist wichtig, die Sorgen und Nöte der Menschen zu verstehen, um echte Lösungen zu finden, die niemanden zurücklassen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage fordert konkret Mitgefühl und Empathie]\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage verweist auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)]\n","\n","\"Anzahl der Wohnungslosen ist hoch\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage ist nicht explizit empathisch, sondern faktenbasiert / argumentierend /]\n","\n","\"Russland hat die Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage erweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben)]\n","\n","Beispiele\n","„Wir wollen das auch gegen Widerstände durchsetzen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage bezieht sich auf konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen]\n","\n","„wir wollen gewählt werden, um einen Politikwechsel durchzuführen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Wille zur Übernahme und aktive Ausführung von Führung]\n","\n","\"In entscheidenden Momenten übernehme ich die Verantwortung und setze mich entschlossen für das ein, was richtig is\"\n","Ergebnis: [dur]\n","Erläuterung: []\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf eigene wahrgenommene Führungsrolle ]\n","\n","\"Und ich möchte, dass wir den ersten Schritt gehen, dass wir jetzt eingreifen, dass wir jetzt unterstützen.\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben]\n","\n","\"Wir sind eine Partei, die Politik ändern kann\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage Verweist auf formale oder faktische Führungs- oder Machtposition ]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Sentence to classify: {sentence}\n","    \"\"\"\n","\n","    response = client.chat.completions.create(\n","        model=\"gpt-4o-mini\",  # Choose an appropriate model\n","        messages=[\n","            {\"role\": \"system\", \"content\": role_description},\n","            {\"role\": \"user\", \"content\": user_message}\n","        ],\n","        max_tokens=150,\n","        seed = seed\n","\n","    )\n","    synthetic_text = response.choices[0].message.content.strip()\n","\n","    return synthetic_text\n","\n","##########\n","#########\n","################################################################################################################################################################################################################################################\n","################################################################################################################################################################################################################################################\n","\n","def process_classification(row):\n","  \"\"\"Processes the classification output into two columns.\"\"\"\n","  model_output = row['model_label']\n","  if not isinstance(model_output, str):\n","    return '', ''  # Handle cases where GPT output is not a string\n","  try:\n","    category_start = model_output.index('Ergebnis:')\n","    explanation_start = model_output.index('Erläuterung:')\n","    categories = model_output[category_start + len('Ergebnis:'):explanation_start].strip()\n","    explanation = model_output[explanation_start + len('Erläuterung:'):].strip()\n","    categories = categories.replace('[', '').replace(']', '').replace(' ', '')\n","    return categories, explanation\n","  except ValueError:\n","    return '', ''\n"]},{"cell_type":"code","execution_count":5,"metadata":{"cellView":"form","id":"8QQuxoGSttrd","executionInfo":{"status":"ok","timestamp":1741287501099,"user_tz":-60,"elapsed":19,"user":{"displayName":"Lukas","userId":"09276477477582089903"}}},"outputs":[],"source":["# @title Prompting Templates LLama\n","\n","from openai import OpenAI\n","\n","### Zero-Shot & Explicit\n","def classify_text_explicit_zeroshot_4o_llama(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","\n","\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format. Wähle eine der drei Kategorien aus:\n","\n","    Ergebnis: [emp, dur, none] (also z. B. \"Ergebnis: [emp]\" oder \"Ergebnis: [dur]\" oder \"Ergebnis: [none]\")\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Main Sentence (to classify): {sentence}\n","    \"\"\"\n","\n","\n","    openai = OpenAI(\n","        api_key=\"ygjLWPBwJRshYEFh8E2tRQiX0oG4iXWz\",\n","        base_url=\"https://api.deepinfra.com/v1/openai\",)\n","    stream = False # or False\n","\n","    chat_completion = openai.chat.completions.create(\n","        model=\"meta-llama/Meta-Llama-3-8B-Instruct\",\n","        messages=[\n","                {\"role\": \"system\", \"content\": role_description},\n","                {\"role\": \"user\", \"content\": user_message}\n","            ],\n","        stream=stream,\n","        max_tokens=150,\n","        seed = seed)\n","\n","    synthetic_text = chat_completion.choices[0].message.content.strip()\n","\n","    return synthetic_text\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_implicit_zeroshot_4o_llama(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","    - Wenn moralische Bewertung nicht explizit empathisch, sondern faktenbasiert / argumentierend\n","    - Verweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben);\n","    -  Empathischer Fokus auf politischen Einheiten\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","   - Generelle Verweise auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben\n","   - Generelle Verweise auf formale oder faktische Führungs- oder Machtposition\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format. Wähle eine der drei Kategorien aus:\n","\n","    Ergebnis: [emp, dur, none] (also z. B. \"Ergebnis: [emp]\" oder \"Ergebnis: [dur]\" oder \"Ergebnis: [none]\")\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Main Sentence (to classify): {sentence}\n","    \"\"\"\n","\n","    openai = OpenAI(\n","        api_key=\"ygjLWPBwJRshYEFh8E2tRQiX0oG4iXWz\",\n","        base_url=\"https://api.deepinfra.com/v1/openai\",)\n","    stream = False # or False\n","\n","    chat_completion = openai.chat.completions.create(\n","        model=\"meta-llama/Meta-Llama-3-8B-Instruct\",\n","        messages=[\n","                {\"role\": \"system\", \"content\": role_description},\n","                {\"role\": \"user\", \"content\": user_message}\n","            ],\n","        stream=stream,\n","        max_tokens=150,\n","        seed = seed)\n","\n","    synthetic_text = chat_completion.choices[0].message.content.strip()\n","\n","\n","    return synthetic_text\n","\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_explicit_fewshot_4o_llama(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format. Wähle eine der drei Kategorien aus:\n","\n","    Ergebnis: [emp, dur, none] (also z. B. \"Ergebnis: [emp]\" oder \"Ergebnis: [dur]\" oder \"Ergebnis: [none]\")\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","\n","Beispiele\n","„Die Anzahl der Wohnungslosen ist zu hoch, das ist eine humanitäre Katastrophe“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","„Arme Leute haben Bedenken, dass andere ihre Lage ausnutzen“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","\"Es ist wichtig, die Sorgen und Nöte der Menschen zu verstehen, um echte Lösungen zu finden, die niemanden zurücklassen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage fordert konkret Mitgefühl und Empathie]\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage verweist auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)]\n","\n","Beispiele\n","„Wir wollen das auch gegen Widerstände durchsetzen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage bezieht sich auf konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen]\n","\n","„wir wollen gewählt werden, um einen Politikwechsel durchzuführen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Wille zur Übernahme und aktive Ausführung von Führung]\n","\n","\"In entscheidenden Momenten übernehme ich die Verantwortung und setze mich entschlossen für das ein, was richtig is\"\n","Ergebnis: [dur]\n","Erläuterung: []\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf eigene wahrgenommene Führungsrolle ]\n","\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Sentence to classify: {sentence}\n","    \"\"\"\n","\n","    openai = OpenAI(\n","        api_key=\"ygjLWPBwJRshYEFh8E2tRQiX0oG4iXWz\",\n","        base_url=\"https://api.deepinfra.com/v1/openai\",)\n","    stream = False # or False\n","\n","    chat_completion = openai.chat.completions.create(\n","        model=\"meta-llama/Meta-Llama-3-8B-Instruct\",\n","        messages=[\n","                {\"role\": \"system\", \"content\": role_description},\n","                {\"role\": \"user\", \"content\": user_message}\n","            ],\n","        stream=stream,\n","        max_tokens=150,\n","        seed = seed)\n","\n","    synthetic_text = chat_completion.choices[0].message.content.strip()\n","\n","\n","    return synthetic_text\n","\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_implicit_fewshot_4o_llama(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","    - Wenn moralische Bewertung nicht explizit empathisch, sondern faktenbasiert / argumentierend\n","    - Verweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben);\n","    -  Empathischer Fokus auf politischen Einheiten\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","   - Generelle Verweise auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben\n","   - Generelle Verweise auf formale oder faktische Führungs- oder Machtposition\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format. Wähle eine der drei Kategorien aus:\n","\n","    Ergebnis: [emp, dur, none] (also z. B. \"Ergebnis: [emp]\" oder \"Ergebnis: [dur]\" oder \"Ergebnis: [none]\")\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","Beispiele\n","„Die Anzahl der Wohnungslosen ist zu hoch, das ist eine humanitäre Katastrophe“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte)a Menschen(gruppen) oder Personen]\n","\n","„Arme Leute haben Bedenken, dass andere ihre Lage ausnutzen“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","\"Es ist wichtig, die Sorgen und Nöte der Menschen zu verstehen, um echte Lösungen zu finden, die niemanden zurücklassen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage fordert konkret Mitgefühl und Empathie]\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage verweist auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)]\n","\n","\"Anzahl der Wohnungslosen ist hoch\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage ist nicht explizit empathisch, sondern faktenbasiert / argumentierend /]\n","\n","\"Russland hat die Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage erweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben)]\n","\n","Beispiele\n","„Wir wollen das auch gegen Widerstände durchsetzen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage bezieht sich auf konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen]\n","\n","„wir wollen gewählt werden, um einen Politikwechsel durchzuführen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Wille zur Übernahme und aktive Ausführung von Führung]\n","\n","\"In entscheidenden Momenten übernehme ich die Verantwortung und setze mich entschlossen für das ein, was richtig is\"\n","Ergebnis: [dur]\n","Erläuterung: []\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf eigene wahrgenommene Führungsrolle ]\n","\n","\"Und ich möchte, dass wir den ersten Schritt gehen, dass wir jetzt eingreifen, dass wir jetzt unterstützen.\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben]\n","\n","\"Wir sind eine Partei, die Politik ändern kann\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage Verweist auf formale oder faktische Führungs- oder Machtposition ]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Sentence to classify: {sentence}\n","    \"\"\"\n","\n","    openai = OpenAI(\n","        api_key=\"ygjLWPBwJRshYEFh8E2tRQiX0oG4iXWz\",\n","        base_url=\"https://api.deepinfra.com/v1/openai\",)\n","    stream = False # or False\n","\n","    chat_completion = openai.chat.completions.create(\n","        model=\"meta-llama/Meta-Llama-3-8B-Instruct\",\n","        messages=[\n","                {\"role\": \"system\", \"content\": role_description},\n","                {\"role\": \"user\", \"content\": user_message}\n","            ],\n","        stream=stream,\n","        max_tokens=150,\n","        seed = seed)\n","\n","    synthetic_text = chat_completion.choices[0].message.content.strip()\n","\n","    return synthetic_text\n","\n","\n","def process_classification(row):\n","  \"\"\"Processes the GPT classification output into two columns.\"\"\"\n","  model_output = row['model_classification']\n","  if not isinstance(model_output, str):\n","    return '', ''  # Handle cases where GPT output is not a string\n","  try:\n","    category_start = model_output.index('Ergebnis:')\n","    explanation_start = model_output.index('Erläuterung:')\n","    categories = model_output[category_start + len('Ergebnis:'):explanation_start].strip()\n","    explanation = model_output[explanation_start + len('Erläuterung:'):].strip()\n","    categories = categories.replace('[', '').replace(']', '').replace(' ', '')\n","    return categories, explanation\n","  except ValueError:\n","    return '', ''"]},{"cell_type":"code","execution_count":6,"metadata":{"cellView":"form","id":"DjA8f2JDP6Tw","executionInfo":{"status":"ok","timestamp":1741287502025,"user_tz":-60,"elapsed":21,"user":{"displayName":"Lukas","userId":"09276477477582089903"}}},"outputs":[],"source":["# @title Prompting Templates Deepseek\n","\n","# @title Prompting Templates LLama\n","\n","from openai import OpenAI\n","\n","### Zero-Shot & Explicit\n","def classify_text_explicit_zeroshot_deepseak(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","\n","\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format. Wähle eine der drei Kategorien aus:\n","\n","    Ergebnis: [emp, dur, none] (also z. B. \"Ergebnis: [emp]\" oder \"Ergebnis: [dur]\" oder \"Ergebnis: [none]\")\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Main Sentence (to classify): {sentence}\n","    \"\"\"\n","\n","\n","    openai = OpenAI(\n","        api_key=\"ygjLWPBwJRshYEFh8E2tRQiX0oG4iXWz\",\n","        base_url=\"https://api.deepinfra.com/v1/openai\",)\n","    stream = False # or False\n","\n","    chat_completion = openai.chat.completions.create(\n","        model=\"deepseek-ai/DeepSeek-V3\",\n","        messages=[\n","                {\"role\": \"system\", \"content\": role_description},\n","                {\"role\": \"user\", \"content\": user_message}\n","            ],\n","        stream=stream,\n","        max_tokens=150,\n","        seed = seed)\n","\n","    synthetic_text = chat_completion.choices[0].message.content.strip()\n","\n","\n","    return synthetic_text\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_implicit_zeroshot_deepseak(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","    - Wenn moralische Bewertung nicht explizit empathisch, sondern faktenbasiert / argumentierend\n","    - Verweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben);\n","    -  Empathischer Fokus auf politischen Einheiten\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","   - Generelle Verweise auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben\n","   - Generelle Verweise auf formale oder faktische Führungs- oder Machtposition\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format. Wähle eine der drei Kategorien aus:\n","\n","    Ergebnis: [emp, dur, none] (also z. B. \"Ergebnis: [emp]\" oder \"Ergebnis: [dur]\" oder \"Ergebnis: [none]\")\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Main Sentence (to classify): {sentence}\n","    \"\"\"\n","\n","    openai = OpenAI(\n","        api_key=\"ygjLWPBwJRshYEFh8E2tRQiX0oG4iXWz\",\n","        base_url=\"https://api.deepinfra.com/v1/openai\",)\n","    stream = False # or False\n","\n","    chat_completion = openai.chat.completions.create(\n","        model=\"deepseek-ai/DeepSeek-V3\",\n","        messages=[\n","                {\"role\": \"system\", \"content\": role_description},\n","                {\"role\": \"user\", \"content\": user_message}\n","            ],\n","        stream=stream,\n","        max_tokens=150,\n","        seed = seed)\n","\n","    synthetic_text = chat_completion.choices[0].message.content.strip()\n","\n","\n","    return synthetic_text\n","\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_explicit_fewshot_deepseak(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format. Wähle eine der drei Kategorien aus:\n","\n","    Ergebnis: [emp, dur, none] (also z. B. \"Ergebnis: [emp]\" oder \"Ergebnis: [dur]\" oder \"Ergebnis: [none]\")\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","\n","Beispiele\n","„Die Anzahl der Wohnungslosen ist zu hoch, das ist eine humanitäre Katastrophe“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","„Arme Leute haben Bedenken, dass andere ihre Lage ausnutzen“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","\"Es ist wichtig, die Sorgen und Nöte der Menschen zu verstehen, um echte Lösungen zu finden, die niemanden zurücklassen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage fordert konkret Mitgefühl und Empathie]\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage verweist auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)]\n","\n","Beispiele\n","„Wir wollen das auch gegen Widerstände durchsetzen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage bezieht sich auf konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen]\n","\n","„wir wollen gewählt werden, um einen Politikwechsel durchzuführen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Wille zur Übernahme und aktive Ausführung von Führung]\n","\n","\"In entscheidenden Momenten übernehme ich die Verantwortung und setze mich entschlossen für das ein, was richtig is\"\n","Ergebnis: [dur]\n","Erläuterung: []\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf eigene wahrgenommene Führungsrolle ]\n","\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Sentence to classify: {sentence}\n","    \"\"\"\n","\n","    openai = OpenAI(\n","        api_key=\"ygjLWPBwJRshYEFh8E2tRQiX0oG4iXWz\",\n","        base_url=\"https://api.deepinfra.com/v1/openai\",)\n","    stream = False # or False\n","\n","    chat_completion = openai.chat.completions.create(\n","        model=\"deepseek-ai/DeepSeek-V3\",\n","        messages=[\n","                {\"role\": \"system\", \"content\": role_description},\n","                {\"role\": \"user\", \"content\": user_message}\n","            ],\n","        stream=stream,\n","        max_tokens=150,\n","        seed = seed)\n","\n","    synthetic_text = chat_completion.choices[0].message.content.strip()\n","\n","\n","    return synthetic_text\n","\n","################################################################################################################################################################################################\n","\n","\n","def classify_text_implicit_fewshot_deepseak(sentence, seed):\n","    role_description = \"\"\"\n","   Du hast die Aufgabe, Sätze von Politikern anhand von konzeptuellen Kategorien zu klassifizieren:\n","\n","1. **Empathie & Mitgefühl**:\n","   Eine Aussage zeigt, dass ein Politiker empathisch ist, mit den Problemen und Gefühlen (benachteiligter) Menschen mitfühlt, Fürsorge und Mitgefühl zeigt sowie die Bedürfnisse von benachteiligten Gruppen versteht.\n","   Beispiele:\n","    - Wenn bezogen auf konkrete (benachteiligte) Menschen(gruppen) oder Personen\n","    - Wenn konkret Mitgefühl oder Empathie gefordert wird\n","    - Wenn Verweis auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)\n","    - Wenn moralische Bewertung nicht explizit empathisch, sondern faktenbasiert / argumentierend\n","    - Verweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben);\n","    -  Empathischer Fokus auf politischen Einheiten\n","\n","2. **Durchsetzungsfähigkeit & Führungsanspruch**:\n","   Eine Aussage zeigt, dass ein Politiker entschlossen ist, die Führung zu übernehmen, Verantwortung zu tragen und gegen Widerstände aktiv zu handeln.\n","   Beispiele:\n","   - Wenn konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen\n","   - Wille zur Übernahme und aktive Ausführung von Führung\n","   - Verweis auf eigene wahrgenommene Führungsrolle\n","   - Generelle Verweise auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben\n","   - Generelle Verweise auf formale oder faktische Führungs- oder Machtposition\n","\n","3. **None**:\n","   Die Aussage macht keine Rückschlüsse über eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \"Empathie und Mitgefühl\" oder **Durchsetzungsfähigkeit & Führungsanspruch** zurückzuführen ist\n","\n","---\n","\n","**Aufgabe**: Klassifiziere die folgende Aussage und gib eine Erklärung ab.\n","\n","Geb deine Antwort im folgenden Format. Wähle eine der drei Kategorien aus:\n","\n","    Ergebnis: [emp, dur, none] (also z. B. \"Ergebnis: [emp]\" oder \"Ergebnis: [dur]\" oder \"Ergebnis: [none]\")\n","    Erläuterung: [Erläuterung (max. 1 Satz))]\n","\n","Beispiele\n","„Die Anzahl der Wohnungslosen ist zu hoch, das ist eine humanitäre Katastrophe“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte)a Menschen(gruppen) oder Personen]\n","\n","„Arme Leute haben Bedenken, dass andere ihre Lage ausnutzen“\n","Ergebnis: [emp]\n","Erläuterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\n","\n","\"Es ist wichtig, die Sorgen und Nöte der Menschen zu verstehen, um echte Lösungen zu finden, die niemanden zurücklassen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage fordert konkret Mitgefühl und Empathie]\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage verweist auf globale Krisen (Kriege, etc.) mit Folgen für Menschen(-leben)]\n","\n","\"Anzahl der Wohnungslosen ist hoch\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage ist nicht explizit empathisch, sondern faktenbasiert / argumentierend /]\n","\n","\"Russland hat die Ukraine angegriffen\"\n","Ergebnis: [emp]\n","Erläuterung: [Aussage erweis auf globale Krisen (Kriege, etc.) ohne direkte Benennung der Folgen für Menschen(-leben)]\n","\n","Beispiele\n","„Wir wollen das auch gegen Widerstände durchsetzen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage bezieht sich auf konkrete machtbezogene Planungen, die im Kontext von persönlicher Durchseztungsfähigkeit gegen Widerstände oder Bedenken / etc. stehen]\n","\n","„wir wollen gewählt werden, um einen Politikwechsel durchzuführen“\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Wille zur Übernahme und aktive Ausführung von Führung]\n","\n","\"In entscheidenden Momenten übernehme ich die Verantwortung und setze mich entschlossen für das ein, was richtig is\"\n","Ergebnis: [dur]\n","Erläuterung: []\n","\n","\"Russland hat die Menschen in der Ukraine angegriffen\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf eigene wahrgenommene Führungsrolle ]\n","\n","\"Und ich möchte, dass wir den ersten Schritt gehen, dass wir jetzt eingreifen, dass wir jetzt unterstützen.\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage verweist auf Handlungen, die einen disruptiven / aktiven Character gegenüber des Status Quo haben]\n","\n","\"Wir sind eine Partei, die Politik ändern kann\"\n","Ergebnis: [dur]\n","Erläuterung: [Aussage Verweist auf formale oder faktische Führungs- oder Machtposition ]\n","\n","    \"\"\"\n","\n","    user_message = f\"\"\"\n","    {role_description}\n","\n","    Sentence to classify: {sentence}\n","    \"\"\"\n","\n","    openai = OpenAI(\n","        api_key=\"ygjLWPBwJRshYEFh8E2tRQiX0oG4iXWz\",\n","        base_url=\"https://api.deepinfra.com/v1/openai\",)\n","    stream = False # or False\n","\n","    chat_completion = openai.chat.completions.create(\n","        model=\"deepseek-ai/DeepSeek-V3\",\n","        messages=[\n","                {\"role\": \"system\", \"content\": role_description},\n","                {\"role\": \"user\", \"content\": user_message}\n","            ],\n","        stream=stream,\n","        max_tokens=150,\n","        seed = seed)\n","\n","    synthetic_text = chat_completion.choices[0].message.content.strip()\n","\n","\n","    return synthetic_text\n","\n","\n","def process_classification(row):\n","  \"\"\"Processes the classification output into two columns.\"\"\"\n","  model_output = row['model_classification']\n","  if not isinstance(model_output, str):\n","    return '', ''  # Handle cases where GPT output is not a string\n","  try:\n","    category_start = model_output.index('Ergebnis:')\n","    explanation_start = model_output.index('Erläuterung:')\n","    categories = model_output[category_start + len('Ergebnis:'):explanation_start].strip()\n","    explanation = model_output[explanation_start + len('Erläuterung:'):].strip()\n","    categories = categories.replace('[', '').replace(']', '').replace(' ', '')\n","    return categories, explanation\n","  except ValueError:\n","    return '', ''\n"]},{"cell_type":"code","execution_count":7,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":4427,"status":"ok","timestamp":1741287506997,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"88gsEf2k23fD","outputId":"2890fc77-c7a9-4bb9-ff51-4cfb2136c2b7"},"outputs":[{"output_type":"stream","name":"stdout","text":["Collecting ts\n","  Downloading ts-0.5.1.tar.gz (13 kB)\n","  Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n","Building wheels for collected packages: ts\n","  Building wheel for ts (setup.py) ... \u001b[?25l\u001b[?25hdone\n","  Created wheel for ts: filename=ts-0.5.1-py3-none-any.whl size=14347 sha256=41132dfd609d3a12c7eff0a6f2f749b3bb5f8c874c692ab4cf45df1dc6db91f0\n","  Stored in directory: /root/.cache/pip/wheels/76/17/49/378123a5ed6f926c3fa19c5231e9a91d6768fe8ac1cf677c2c\n","Successfully built ts\n","Installing collected packages: ts\n","Successfully installed ts-0.5.1\n"]}],"source":["!pip install ts"]},{"cell_type":"code","execution_count":15,"metadata":{"id":"pB1fe29JiyLC","executionInfo":{"status":"ok","timestamp":1741287658731,"user_tz":-60,"elapsed":6,"user":{"displayName":"Lukas","userId":"09276477477582089903"}}},"outputs":[],"source":["import pandas as pd\n","import os\n","import datetime\n","import ts\n","\n","# Define a function to apply GPT classification\n","def apply_classification_gpt(row, seed):\n","    sentence = row['text']\n","    dataset = row['dataset']  # 'strong_balanced', 'strong_unbalanced', 'weak_balanced', 'weak_unbalanced'\n","    shot_type = row['shot_type']  # 'zero' or 'few'\n","\n","    if dataset in ['strong_balanced', 'strong_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'zero':\n","        return classify_text_explicit_zeroshot_4o(sentence, seed=seed)\n","    elif dataset in ['strong_balanced', 'strong_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'few':\n","        return classify_text_explicit_fewshot_4o(sentence, seed=seed)\n","    elif dataset in ['combined_balanced', 'combined_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'zero':\n","        return classify_text_implicit_zeroshot_4o(sentence, seed=seed)\n","    elif dataset in ['combined_balanced', 'combined_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'few':\n","        return classify_text_implicit_fewshot_4o(sentence, seed=seed)\n","    else:\n","        return \"\"\n","\n","# Define a function to apply LLaMA classification\n","def apply_classification_llama(row, seed):\n","    sentence = row['text']\n","    dataset = row['dataset']\n","    shot_type = row['shot_type']\n","\n","    if dataset in ['strong_balanced', 'strong_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'zero':\n","        return classify_text_explicit_zeroshot_4o_llama(sentence, seed=seed)\n","    elif dataset in ['strong_balanced', 'strong_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'few':\n","        return classify_text_explicit_fewshot_4o_llama(sentence, seed=seed)\n","    elif dataset in ['combined_balanced', 'combined_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'zero':\n","        return classify_text_implicit_zeroshot_4o_llama(sentence, seed=seed)\n","    elif dataset in ['combined_balanced', 'combined_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'few':\n","        return classify_text_implicit_fewshot_4o_llama(sentence, seed=seed)\n","    else:\n","        return \"\"\n","\n","# Define a function to apply DeepSeak classification\n","def apply_classification_deepseak(row, seed):\n","    sentence = row['text']\n","    dataset = row['dataset']\n","    shot_type = row['shot_type']\n","\n","    if dataset in ['strong_balanced', 'strong_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'zero':\n","        return classify_text_explicit_zeroshot_deepseak(sentence, seed=seed)\n","    elif dataset in ['strong_balanced', 'strong_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'few':\n","        return classify_text_explicit_fewshot_deepseak(sentence, seed=seed)\n","    elif dataset in ['combined_balanced', 'combined_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'zero':\n","        return classify_text_implicit_zeroshot_deepseak(sentence, seed=seed)\n","    elif dataset in ['combined_balanced', 'combined_unbalanced',\"unlabeled\", \"trump\"] and shot_type == 'few':\n","        return classify_text_implicit_fewshot_deepseak(sentence, seed=seed)\n","    else:\n","        return \"\"\n","\n"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"y_vqy06V2ywg"},"outputs":[],"source":["\n","import pandas as pd\n","import os\n","from concurrent.futures import ThreadPoolExecutor, as_completed\n","\n","# (Assuming your classification functions and process_classification are defined above.)\n","\n","# Path to save results\n","output_path = '/content/drive/MyDrive/personality/classification/data/input/classification_results_prompting.csv'\n","\n","# Load or create results DataFrame\n","if os.path.exists(output_path):\n","    df_results = pd.read_csv(output_path)\n","    print(f\"Loaded existing results from {output_path}\")\n","else:\n","    df_results = pd.DataFrame(columns=['text', 'dataset', 'shot_type', 'model',\n","                                       'model_classification', 'model_label',\n","                                       'model_explanation', \"random_seed\"])\n","    print(\"Starting with an empty DataFrame.\")\n","\n","# Check if a combination is already processed\n","def already_processed(dataset, shot_type, seed, model, df_results):\n","    return not df_results[\n","        (df_results['dataset'] == dataset) &\n","        (df_results['shot_type'] == shot_type) &\n","        (df_results['random_seed'] == seed) &\n","        (df_results['model'] == model)\n","    ].empty\n","\n","# Function to process one combination of seed, shot_type, model, dataset\n","def process_single_combination(seed, shot_type, model, dataset, df, df_results):\n","    # Skip already processed combinations\n","    if already_processed(dataset, shot_type, seed, model, df_results):\n","        print(f\"Skipping already processed: {dataset}, {model}, {seed}, {shot_type}\")\n","        return None\n","\n","    try:\n","        # Create a subset of the data for the current dataset\n","        df_subset = df[df['dataset'] == dataset].copy()\n","        df_subset['shot_type'] = shot_type\n","        df_subset['random_seed'] = seed\n","\n","        print(f\"Processing: seed={seed}, shot_type={shot_type}, model={model}, dataset={dataset}\")\n","        print(datetime.datetime.utcnow())\n","\n","        # Apply the corresponding classification function\n","        if model == 'gpt':\n","            df_subset['model_classification'] = df_subset.apply(apply_classification_gpt, axis=1, seed=seed)\n","            df_subset[['model_label', 'model_explanation']] = df_subset.apply(process_classification, axis=1, result_type='expand')\n","            df_subset['model'] = 'gpt'\n","        elif model == 'deepseak':\n","            df_subset['model_classification'] = df_subset.apply(apply_classification_deepseak, axis=1, seed=seed)\n","            df_subset[['model_label', 'model_explanation']] = df_subset.apply(process_classification, axis=1, result_type='expand')\n","            df_subset['model'] = 'deepseak'\n","        elif model == 'llama':\n","            df_subset['model_classification'] = df_subset.apply(apply_classification_llama, axis=1, seed=seed)\n","            df_subset[['model_label', 'model_explanation']] = df_subset.apply(process_classification, axis=1, result_type='expand')\n","            df_subset['model'] = 'llama'\n","\n","        return df_subset\n","\n","    except Exception as e:\n","        print(f\"Error processing {dataset}, {shot_type}, {model}, {seed}: {e}\")\n","        return None\n","\n","# Your main dataset (make sure df is defined elsewhere)\n","# df = pd.read_csv('path_to_your_data.csv')  # for example\n","\n","# Define parameters\n","random_seeds = [42, 43, 44]\n","shot_types = ['zero', 'few']\n","models = ['llama', 'deepseak', 'gpt']\n","datasets = ['combined_balanced', 'combined_unbalanced', 'strong_balanced', 'strong_unbalanced']\n","\n","# Use ThreadPoolExecutor to process combinations concurrently\n","with ThreadPoolExecutor(max_workers=4) as executor:\n","    # Create a list to keep track of all futures\n","    futures = []\n","    for seed in random_seeds:\n","        for shot_type in shot_types:\n","            for model in models:\n","                for dataset in datasets:\n","                    futures.append(executor.submit(process_single_combination, seed, shot_type, model, dataset, df, df_results))\n","\n","    # As each future completes, update the results DataFrame\n","    for future in as_completed(futures):\n","        result = future.result()\n","        if result is not None:\n","            df_results = pd.concat([df_results, result], ignore_index=True)\n","            df_results.to_csv(output_path, index=False)\n","            print(f\"Results updated and saved to {output_path}\")\n","\n","# Final save\n","df_results.to_csv(output_path, index=False)\n","print(f\"Final results saved to {output_path}\")"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":20,"status":"ok","timestamp":1739186670369,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"EZrq-J_4Rl30","outputId":"84d60748-e097-46cd-fe42-34c66979e9e2"},"outputs":[{"data":{"text/plain":["['weak_balanced', 'weak_unbalanced', 'strong_balanced', 'strong_unbalanced']"]},"execution_count":12,"metadata":{},"output_type":"execute_result"}],"source":["\n","# Define the list of values to filter on\n","filter_values = ['weak_balanced', 'weak_unbalanced', 'strong_balanced', 'strong_unbalanced']\n","\n","# Filter the DataFrame for rows where the 'dataset' column is in filter_values\n","filtered_df = df_results[df_results['dataset'].isin(filter_values)]\n"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":424},"executionInfo":{"elapsed":45,"status":"ok","timestamp":1739031377718,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"a7K1_fgWVkKm","outputId":"d4558e05-36df-41a0-b5af-ef71227d0afa"},"outputs":[{"data":{"application/vnd.google.colaboratory.intrinsic+json":{"summary":"{\n  \"name\": \"df[df['dataset'] == \\\"strong_balanced\\\"]\",\n  \"rows\": 360,\n  \"fields\": [\n    {\n      \"column\": \"text\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 360,\n        \"samples\": [\n          \"Die M\\u00f6glichkeiten zu erweitern, das ist schon sinnvoll, die Mietpreisbremse zu \\u00fcberarbeiten, dass die Anschliege nicht so steil sind, dass die Bemessungsgrundlage von den Bestandsmieten weitergemacht wird.\",\n          \"Mein guter Vorsatz in diesem Jahr: Wir werden auch 2022 gegen den politischen Strom schwimmen!\",\n          \"Viele Branchen finden keine Fachkr\\u00e4fte mehr, weil unser Bildungssystem chronisch unterfinanziert ist und falsche Weichen stellt und weil miese L\\u00f6hne junge Menschen davon abhalten, sich f\\u00fcr bestimmte Berufe \\u00fcberhaupt noch ausbilden zu lassen.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"labels\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"dur\",\n          \"emp\",\n          \"none\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"dataset\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 1,\n        \"samples\": [\n          \"strong_balanced\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}","type":"dataframe"},"text/html":["\n","  <div id=\"df-e0f2359f-d478-43ed-bb10-5800ce10bd6f\" class=\"colab-df-container\">\n","    <div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>text</th>\n","      <th>labels</th>\n","      <th>dataset</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>18</th>\n","      <td>Dafür trete ich mit meiner SPD am Sonntag an u...</td>\n","      <td>dur</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>19</th>\n","      <td>Die Mehrheit der Bundesbürger macht sich zu Re...</td>\n","      <td>emp</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>20</th>\n","      <td>Verbieten Sie sachgrundlose Befristungen, und ...</td>\n","      <td>none</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>21</th>\n","      <td>Seit 2005, seit Ihrem Amtsantritt, hat sich di...</td>\n","      <td>emp</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>23</th>\n","      <td>Deshalb werde ich mich dafür einsetzen, dass G...</td>\n","      <td>dur</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>...</th>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","    </tr>\n","    <tr>\n","      <th>2040</th>\n","      <td>Deshalb gilt es den Kampf um Mehrheiten links ...</td>\n","      <td>dur</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>2044</th>\n","      <td>👇🏻 Wir brauchen einen Landesvorsitzenden, der ...</td>\n","      <td>dur</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>2046</th>\n","      <td>Die Bilder von den Opfern des Giftgas-Angriffe...</td>\n","      <td>emp</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>2047</th>\n","      <td>Ich freue mich auf den gemeinsamen weiteren We...</td>\n","      <td>dur</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>2048</th>\n","      <td>Sonst müssen wir auch hier tätig werden.</td>\n","      <td>none</td>\n","      <td>strong_balanced</td>\n","    </tr>\n","  </tbody>\n","</table>\n","<p>360 rows × 3 columns</p>\n","</div>\n","    <div class=\"colab-df-buttons\">\n","\n","  <div class=\"colab-df-container\">\n","    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-e0f2359f-d478-43ed-bb10-5800ce10bd6f')\"\n","            title=\"Convert this dataframe to an interactive table.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n","    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n","  </svg>\n","    </button>\n","\n","  <style>\n","    .colab-df-container {\n","      display:flex;\n","      gap: 12px;\n","    }\n","\n","    .colab-df-convert {\n","      background-color: #E8F0FE;\n","      border: none;\n","      border-radius: 50%;\n","      cursor: pointer;\n","      display: none;\n","      fill: #1967D2;\n","      height: 32px;\n","      padding: 0 0 0 0;\n","      width: 32px;\n","    }\n","\n","    .colab-df-convert:hover {\n","      background-color: #E2EBFA;\n","      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","      fill: #174EA6;\n","    }\n","\n","    .colab-df-buttons div {\n","      margin-bottom: 4px;\n","    }\n","\n","    [theme=dark] .colab-df-convert {\n","      background-color: #3B4455;\n","      fill: #D2E3FC;\n","    }\n","\n","    [theme=dark] .colab-df-convert:hover {\n","      background-color: #434B5C;\n","      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","      fill: #FFFFFF;\n","    }\n","  </style>\n","\n","    <script>\n","      const buttonEl =\n","        document.querySelector('#df-e0f2359f-d478-43ed-bb10-5800ce10bd6f button.colab-df-convert');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      async function convertToInteractive(key) {\n","        const element = document.querySelector('#df-e0f2359f-d478-43ed-bb10-5800ce10bd6f');\n","        const dataTable =\n","          await google.colab.kernel.invokeFunction('convertToInteractive',\n","                                                    [key], {});\n","        if (!dataTable) return;\n","\n","        const docLinkHtml = 'Like what you see? Visit the ' +\n","          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n","          + ' to learn more about interactive tables.';\n","        element.innerHTML = '';\n","        dataTable['output_type'] = 'display_data';\n","        await google.colab.output.renderOutput(dataTable, element);\n","        const docLink = document.createElement('div');\n","        docLink.innerHTML = docLinkHtml;\n","        element.appendChild(docLink);\n","      }\n","    </script>\n","  </div>\n","\n","\n","<div id=\"df-f145b924-5c86-482e-a0cd-5c551f7ca67c\">\n","  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-f145b924-5c86-482e-a0cd-5c551f7ca67c')\"\n","            title=\"Suggest charts\"\n","            style=\"display:none;\">\n","\n","<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","     width=\"24px\">\n","    <g>\n","        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n","    </g>\n","</svg>\n","  </button>\n","\n","<style>\n","  .colab-df-quickchart {\n","      --bg-color: #E8F0FE;\n","      --fill-color: #1967D2;\n","      --hover-bg-color: #E2EBFA;\n","      --hover-fill-color: #174EA6;\n","      --disabled-fill-color: #AAA;\n","      --disabled-bg-color: #DDD;\n","  }\n","\n","  [theme=dark] .colab-df-quickchart {\n","      --bg-color: #3B4455;\n","      --fill-color: #D2E3FC;\n","      --hover-bg-color: #434B5C;\n","      --hover-fill-color: #FFFFFF;\n","      --disabled-bg-color: #3B4455;\n","      --disabled-fill-color: #666;\n","  }\n","\n","  .colab-df-quickchart {\n","    background-color: var(--bg-color);\n","    border: none;\n","    border-radius: 50%;\n","    cursor: pointer;\n","    display: none;\n","    fill: var(--fill-color);\n","    height: 32px;\n","    padding: 0;\n","    width: 32px;\n","  }\n","\n","  .colab-df-quickchart:hover {\n","    background-color: var(--hover-bg-color);\n","    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n","    fill: var(--button-hover-fill-color);\n","  }\n","\n","  .colab-df-quickchart-complete:disabled,\n","  .colab-df-quickchart-complete:disabled:hover {\n","    background-color: var(--disabled-bg-color);\n","    fill: var(--disabled-fill-color);\n","    box-shadow: none;\n","  }\n","\n","  .colab-df-spinner {\n","    border: 2px solid var(--fill-color);\n","    border-color: transparent;\n","    border-bottom-color: var(--fill-color);\n","    animation:\n","      spin 1s steps(1) infinite;\n","  }\n","\n","  @keyframes spin {\n","    0% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","      border-left-color: var(--fill-color);\n","    }\n","    20% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    30% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","      border-right-color: var(--fill-color);\n","    }\n","    40% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    60% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","    }\n","    80% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-bottom-color: var(--fill-color);\n","    }\n","    90% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","    }\n","  }\n","</style>\n","\n","  <script>\n","    async function quickchart(key) {\n","      const quickchartButtonEl =\n","        document.querySelector('#' + key + ' button');\n","      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n","      quickchartButtonEl.classList.add('colab-df-spinner');\n","      try {\n","        const charts = await google.colab.kernel.invokeFunction(\n","            'suggestCharts', [key], {});\n","      } catch (error) {\n","        console.error('Error during call to suggestCharts:', error);\n","      }\n","      quickchartButtonEl.classList.remove('colab-df-spinner');\n","      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n","    }\n","    (() => {\n","      let quickchartButtonEl =\n","        document.querySelector('#df-f145b924-5c86-482e-a0cd-5c551f7ca67c button');\n","      quickchartButtonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","    })();\n","  </script>\n","</div>\n","\n","    </div>\n","  </div>\n"],"text/plain":["                                                   text labels  \\\n","18    Dafür trete ich mit meiner SPD am Sonntag an u...    dur   \n","19    Die Mehrheit der Bundesbürger macht sich zu Re...    emp   \n","20    Verbieten Sie sachgrundlose Befristungen, und ...   none   \n","21    Seit 2005, seit Ihrem Amtsantritt, hat sich di...    emp   \n","23    Deshalb werde ich mich dafür einsetzen, dass G...    dur   \n","...                                                 ...    ...   \n","2040  Deshalb gilt es den Kampf um Mehrheiten links ...    dur   \n","2044  👇🏻 Wir brauchen einen Landesvorsitzenden, der ...    dur   \n","2046  Die Bilder von den Opfern des Giftgas-Angriffe...    emp   \n","2047  Ich freue mich auf den gemeinsamen weiteren We...    dur   \n","2048           Sonst müssen wir auch hier tätig werden.   none   \n","\n","              dataset  \n","18    strong_balanced  \n","19    strong_balanced  \n","20    strong_balanced  \n","21    strong_balanced  \n","23    strong_balanced  \n","...               ...  \n","2040  strong_balanced  \n","2044  strong_balanced  \n","2046  strong_balanced  \n","2047  strong_balanced  \n","2048  strong_balanced  \n","\n","[360 rows x 3 columns]"]},"execution_count":109,"metadata":{},"output_type":"execute_result"}],"source":["df[df['dataset'] == \"strong_balanced\"]"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":141},"executionInfo":{"elapsed":28,"status":"error","timestamp":1740397774886,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"-Z9tRRcneb2q","outputId":"6b411853-6c4c-4808-92f3-0849951f1bc4"},"outputs":[{"ename":"NameError","evalue":"name 'example_texts' is not defined","output_type":"error","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)","\u001b[0;32m<ipython-input-10-98a8baa5dec0>\u001b[0m in \u001b[0;36m<cell line: 0>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mexample_texts\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;31mNameError\u001b[0m: name 'example_texts' is not defined"]}],"source":["import re\n","import json\n","\n","def clean_text(text):\n","    \"\"\"\n","    Clean up the LLM output and extract the classification class.\n","    Expected classes: \"emp\", \"dur\", or \"none\".\n","\n","    Parameters:\n","        text (str): The raw output text.\n","\n","    Returns:\n","        str: The extracted classification (in lowercase) or an empty string if not found.\n","    \"\"\"\n","    # Remove markdown formatting (e.g., **)\n","    cleaned = re.sub(r'\\*\\*', '', text)\n","\n","    # Attempt to extract JSON if the text indicates JSON output\n","    if 'json' in cleaned.lower():\n","        try:\n","            # Extract the JSON part by looking for curly braces\n","            json_str = re.search(r'\\{.*\\}', cleaned, re.DOTALL).group()\n","            data = json.loads(json_str)\n","            if \"Ergebnis\" in data:\n","                return data[\"Ergebnis\"].strip().lower()\n","        except Exception:\n","            # Fall back to regex extraction if JSON parsing fails\n","            pass\n","\n","    # Define a regex pattern that looks for common labels followed by the class.\n","    # This covers variants such as \"Ergebnis:\", \"Result:\", \"Egebnis:\" or \"Ergänzung:\".\n","    pattern = re.compile(\n","        r'(?i)(?:Ergebnis|Result|Egebnis|Ergänzung)\\s*[:\\-]?\\s*\\[?\\s*(emp|dur|none)\\s*\\]?',\n","        re.IGNORECASE\n","    )\n","\n","    match = pattern.search(cleaned)\n","    if match:\n","        return match.group(1).lower()\n","\n","    # If the labeled patterns aren't found, try to search for the classes as standalone words.\n","    for cls in ['emp', 'dur', 'none']:\n","        if re.search(r'\\b' + re.escape(cls) + r'\\b', cleaned, re.IGNORECASE):\n","            return cls\n","\n","    # Return an empty string if no valid class is found.\n","    return \"\"\n","\n","# --- Example usage ---\n","\n","example_texts = [\n","    # Example with JSON output:\n","    '`json { \"Ergebnis\": \"dur\", \"Erläuterung\": \"Der Satz zeigt eine Bereitschaft ...\" }`',\n","\n","    # Example with labeled output (German)\n","    'Erläuterung: Die Aussage beschreibt ... Ergebnis: none Die Aussage beschreibt ... Ergebnis: none',\n","\n","    # Example with labeled output (English)\n","    'Result: [emp] Explanation: This sentence shows empathy ...',\n","\n","    # Example with variant formatting and extra markdown\n","    '**Ergebnis:** [emp] **Erläuterung:** Die Aussage bezieht sich auf die Nötigkeit, ...',\n","\n","    # Example with misspelled label:\n","    'Egebnis: [dur] Erläuterung: [Aussage bezieht sich auf ...]',\n","\n","    # Example with extra noise:\n","    '**Ergebnis:** [none] **Erläuterung:** Die Aussage beschreibt ... Die Aussage.TYPE % s\">SHEREPEL1e{|-|`|} | [[ +%. %%]F\"));'\n","]\n","\n","for txt in example_texts:\n","    print(f\"Raw: {txt}\\nExtracted class: {clean_text(txt)}\\n{'-'*60}\")\n"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":691},"executionInfo":{"elapsed":37,"status":"ok","timestamp":1739188119395,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"jy57vYzDnH68","outputId":"ca052182-9331-4f9c-82a1-17a88f5dc582"},"outputs":[{"data":{"application/vnd.google.colaboratory.intrinsic+json":{"summary":"{\n  \"name\": \"results_df\",\n  \"rows\": 72,\n  \"fields\": [\n    {\n      \"column\": \"class\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"dur\",\n          \"emp\",\n          \"none\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"avg_F1_Score\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.1094308088854983,\n        \"min\": 0.3293636012228977,\n        \"max\": 0.8485299245430475,\n        \"num_unique_values\": 72,\n        \"samples\": [\n          0.8112740555623809,\n          0.4423875781407542,\n          0.7442382376189984\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"sd_F1_Score\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.014738913192972242,\n        \"min\": 0.001710602503374867,\n        \"max\": 0.07452212188104372,\n        \"num_unique_values\": 72,\n        \"samples\": [\n          0.01807436260603975,\n          0.017243112736259284,\n          0.010421864795641448\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"macro_F1\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0780367106456934,\n        \"min\": 0.5047275094267168,\n        \"max\": 0.7669386560469835,\n        \"num_unique_values\": 24,\n        \"samples\": [\n          0.7472170887912014,\n          0.5883950406402235,\n          0.763311307776901\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"sd_macro_F1\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0067676458641122835,\n        \"min\": 0.00416793116757068,\n        \"max\": 0.030870435515197983,\n        \"num_unique_values\": 24,\n        \"samples\": [\n          0.005785169755842576,\n          0.02018921465994224,\n          0.004174962235804836\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"case_count\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 67.90192057754028,\n        \"min\": 90.0,\n        \"max\": 332.0,\n        \"num_unique_values\": 18,\n        \"samples\": [\n          222.0,\n          221.66666666666666,\n          179.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"model\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"deepseak\",\n          \"gpt\",\n          \"llama\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"shot_type\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          \"zero\",\n          \"few\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"dataset\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 4,\n        \"samples\": [\n          \"weak_unbalanced\",\n          \"strong_unbalanced\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}","type":"dataframe","variable_name":"results_df"},"text/html":["\n","  <div id=\"df-25dc3f63-274d-4357-8be7-21f716813692\" class=\"colab-df-container\">\n","    <div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>class</th>\n","      <th>avg_F1_Score</th>\n","      <th>sd_F1_Score</th>\n","      <th>macro_F1</th>\n","      <th>sd_macro_F1</th>\n","      <th>case_count</th>\n","      <th>model</th>\n","      <th>shot_type</th>\n","      <th>dataset</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>dur</td>\n","      <td>0.782801</td>\n","      <td>0.017908</td>\n","      <td>0.763311</td>\n","      <td>0.004175</td>\n","      <td>222.000000</td>\n","      <td>deepseak</td>\n","      <td>few</td>\n","      <td>weak_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>emp</td>\n","      <td>0.834211</td>\n","      <td>0.014811</td>\n","      <td>0.763311</td>\n","      <td>0.004175</td>\n","      <td>222.000000</td>\n","      <td>deepseak</td>\n","      <td>few</td>\n","      <td>weak_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>none</td>\n","      <td>0.672922</td>\n","      <td>0.010253</td>\n","      <td>0.763311</td>\n","      <td>0.004175</td>\n","      <td>222.000000</td>\n","      <td>deepseak</td>\n","      <td>few</td>\n","      <td>weak_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>dur</td>\n","      <td>0.782086</td>\n","      <td>0.004419</td>\n","      <td>0.749803</td>\n","      <td>0.005513</td>\n","      <td>221.666667</td>\n","      <td>deepseak</td>\n","      <td>zero</td>\n","      <td>weak_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>emp</td>\n","      <td>0.811274</td>\n","      <td>0.018074</td>\n","      <td>0.749803</td>\n","      <td>0.005513</td>\n","      <td>222.000000</td>\n","      <td>deepseak</td>\n","      <td>zero</td>\n","      <td>weak_balanced</td>\n","    </tr>\n","    <tr>\n","      <th>...</th>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","    </tr>\n","    <tr>\n","      <th>67</th>\n","      <td>emp</td>\n","      <td>0.595188</td>\n","      <td>0.009971</td>\n","      <td>0.531407</td>\n","      <td>0.030870</td>\n","      <td>90.000000</td>\n","      <td>llama</td>\n","      <td>few</td>\n","      <td>strong_unbalanced</td>\n","    </tr>\n","    <tr>\n","      <th>68</th>\n","      <td>none</td>\n","      <td>0.427160</td>\n","      <td>0.023906</td>\n","      <td>0.531407</td>\n","      <td>0.030870</td>\n","      <td>179.333333</td>\n","      <td>llama</td>\n","      <td>few</td>\n","      <td>strong_unbalanced</td>\n","    </tr>\n","    <tr>\n","      <th>69</th>\n","      <td>dur</td>\n","      <td>0.564614</td>\n","      <td>0.039456</td>\n","      <td>0.603332</td>\n","      <td>0.017802</td>\n","      <td>90.000000</td>\n","      <td>llama</td>\n","      <td>zero</td>\n","      <td>strong_unbalanced</td>\n","    </tr>\n","    <tr>\n","      <th>70</th>\n","      <td>emp</td>\n","      <td>0.689769</td>\n","      <td>0.009587</td>\n","      <td>0.603332</td>\n","      <td>0.017802</td>\n","      <td>90.000000</td>\n","      <td>llama</td>\n","      <td>zero</td>\n","      <td>strong_unbalanced</td>\n","    </tr>\n","    <tr>\n","      <th>71</th>\n","      <td>none</td>\n","      <td>0.555615</td>\n","      <td>0.016162</td>\n","      <td>0.603332</td>\n","      <td>0.017802</td>\n","      <td>179.666667</td>\n","      <td>llama</td>\n","      <td>zero</td>\n","      <td>strong_unbalanced</td>\n","    </tr>\n","  </tbody>\n","</table>\n","<p>72 rows × 9 columns</p>\n","</div>\n","    <div class=\"colab-df-buttons\">\n","\n","  <div class=\"colab-df-container\">\n","    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-25dc3f63-274d-4357-8be7-21f716813692')\"\n","            title=\"Convert this dataframe to an interactive table.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n","    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n","  </svg>\n","    </button>\n","\n","  <style>\n","    .colab-df-container {\n","      display:flex;\n","      gap: 12px;\n","    }\n","\n","    .colab-df-convert {\n","      background-color: #E8F0FE;\n","      border: none;\n","      border-radius: 50%;\n","      cursor: pointer;\n","      display: none;\n","      fill: #1967D2;\n","      height: 32px;\n","      padding: 0 0 0 0;\n","      width: 32px;\n","    }\n","\n","    .colab-df-convert:hover {\n","      background-color: #E2EBFA;\n","      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","      fill: #174EA6;\n","    }\n","\n","    .colab-df-buttons div {\n","      margin-bottom: 4px;\n","    }\n","\n","    [theme=dark] .colab-df-convert {\n","      background-color: #3B4455;\n","      fill: #D2E3FC;\n","    }\n","\n","    [theme=dark] .colab-df-convert:hover {\n","      background-color: #434B5C;\n","      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","      fill: #FFFFFF;\n","    }\n","  </style>\n","\n","    <script>\n","      const buttonEl =\n","        document.querySelector('#df-25dc3f63-274d-4357-8be7-21f716813692 button.colab-df-convert');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      async function convertToInteractive(key) {\n","        const element = document.querySelector('#df-25dc3f63-274d-4357-8be7-21f716813692');\n","        const dataTable =\n","          await google.colab.kernel.invokeFunction('convertToInteractive',\n","                                                    [key], {});\n","        if (!dataTable) return;\n","\n","        const docLinkHtml = 'Like what you see? Visit the ' +\n","          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n","          + ' to learn more about interactive tables.';\n","        element.innerHTML = '';\n","        dataTable['output_type'] = 'display_data';\n","        await google.colab.output.renderOutput(dataTable, element);\n","        const docLink = document.createElement('div');\n","        docLink.innerHTML = docLinkHtml;\n","        element.appendChild(docLink);\n","      }\n","    </script>\n","  </div>\n","\n","\n","<div id=\"df-849b709b-7eba-4439-925b-3e6ea90abee9\">\n","  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-849b709b-7eba-4439-925b-3e6ea90abee9')\"\n","            title=\"Suggest charts\"\n","            style=\"display:none;\">\n","\n","<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","     width=\"24px\">\n","    <g>\n","        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n","    </g>\n","</svg>\n","  </button>\n","\n","<style>\n","  .colab-df-quickchart {\n","      --bg-color: #E8F0FE;\n","      --fill-color: #1967D2;\n","      --hover-bg-color: #E2EBFA;\n","      --hover-fill-color: #174EA6;\n","      --disabled-fill-color: #AAA;\n","      --disabled-bg-color: #DDD;\n","  }\n","\n","  [theme=dark] .colab-df-quickchart {\n","      --bg-color: #3B4455;\n","      --fill-color: #D2E3FC;\n","      --hover-bg-color: #434B5C;\n","      --hover-fill-color: #FFFFFF;\n","      --disabled-bg-color: #3B4455;\n","      --disabled-fill-color: #666;\n","  }\n","\n","  .colab-df-quickchart {\n","    background-color: var(--bg-color);\n","    border: none;\n","    border-radius: 50%;\n","    cursor: pointer;\n","    display: none;\n","    fill: var(--fill-color);\n","    height: 32px;\n","    padding: 0;\n","    width: 32px;\n","  }\n","\n","  .colab-df-quickchart:hover {\n","    background-color: var(--hover-bg-color);\n","    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n","    fill: var(--button-hover-fill-color);\n","  }\n","\n","  .colab-df-quickchart-complete:disabled,\n","  .colab-df-quickchart-complete:disabled:hover {\n","    background-color: var(--disabled-bg-color);\n","    fill: var(--disabled-fill-color);\n","    box-shadow: none;\n","  }\n","\n","  .colab-df-spinner {\n","    border: 2px solid var(--fill-color);\n","    border-color: transparent;\n","    border-bottom-color: var(--fill-color);\n","    animation:\n","      spin 1s steps(1) infinite;\n","  }\n","\n","  @keyframes spin {\n","    0% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","      border-left-color: var(--fill-color);\n","    }\n","    20% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    30% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","      border-right-color: var(--fill-color);\n","    }\n","    40% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    60% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","    }\n","    80% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-bottom-color: var(--fill-color);\n","    }\n","    90% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","    }\n","  }\n","</style>\n","\n","  <script>\n","    async function quickchart(key) {\n","      const quickchartButtonEl =\n","        document.querySelector('#' + key + ' button');\n","      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n","      quickchartButtonEl.classList.add('colab-df-spinner');\n","      try {\n","        const charts = await google.colab.kernel.invokeFunction(\n","            'suggestCharts', [key], {});\n","      } catch (error) {\n","        console.error('Error during call to suggestCharts:', error);\n","      }\n","      quickchartButtonEl.classList.remove('colab-df-spinner');\n","      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n","    }\n","    (() => {\n","      let quickchartButtonEl =\n","        document.querySelector('#df-849b709b-7eba-4439-925b-3e6ea90abee9 button');\n","      quickchartButtonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","    })();\n","  </script>\n","</div>\n","\n","  <div id=\"id_04969c2d-967d-4a76-9001-a1bc30365dea\">\n","    <style>\n","      .colab-df-generate {\n","        background-color: #E8F0FE;\n","        border: none;\n","        border-radius: 50%;\n","        cursor: pointer;\n","        display: none;\n","        fill: #1967D2;\n","        height: 32px;\n","        padding: 0 0 0 0;\n","        width: 32px;\n","      }\n","\n","      .colab-df-generate:hover {\n","        background-color: #E2EBFA;\n","        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","        fill: #174EA6;\n","      }\n","\n","      [theme=dark] .colab-df-generate {\n","        background-color: #3B4455;\n","        fill: #D2E3FC;\n","      }\n","\n","      [theme=dark] .colab-df-generate:hover {\n","        background-color: #434B5C;\n","        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","        fill: #FFFFFF;\n","      }\n","    </style>\n","    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('results_df')\"\n","            title=\"Generate code using this dataframe.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","       width=\"24px\">\n","    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n","  </svg>\n","    </button>\n","    <script>\n","      (() => {\n","      const buttonEl =\n","        document.querySelector('#id_04969c2d-967d-4a76-9001-a1bc30365dea button.colab-df-generate');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      buttonEl.onclick = () => {\n","        google.colab.notebook.generateWithVariable('results_df');\n","      }\n","      })();\n","    </script>\n","  </div>\n","\n","    </div>\n","  </div>\n"],"text/plain":["   class  avg_F1_Score  sd_F1_Score  macro_F1  sd_macro_F1  case_count  \\\n","0    dur      0.782801     0.017908  0.763311     0.004175  222.000000   \n","1    emp      0.834211     0.014811  0.763311     0.004175  222.000000   \n","2   none      0.672922     0.010253  0.763311     0.004175  222.000000   \n","3    dur      0.782086     0.004419  0.749803     0.005513  221.666667   \n","4    emp      0.811274     0.018074  0.749803     0.005513  222.000000   \n","..   ...           ...          ...       ...          ...         ...   \n","67   emp      0.595188     0.009971  0.531407     0.030870   90.000000   \n","68  none      0.427160     0.023906  0.531407     0.030870  179.333333   \n","69   dur      0.564614     0.039456  0.603332     0.017802   90.000000   \n","70   emp      0.689769     0.009587  0.603332     0.017802   90.000000   \n","71  none      0.555615     0.016162  0.603332     0.017802  179.666667   \n","\n","       model shot_type            dataset  \n","0   deepseak       few      weak_balanced  \n","1   deepseak       few      weak_balanced  \n","2   deepseak       few      weak_balanced  \n","3   deepseak      zero      weak_balanced  \n","4   deepseak      zero      weak_balanced  \n","..       ...       ...                ...  \n","67     llama       few  strong_unbalanced  \n","68     llama       few  strong_unbalanced  \n","69     llama      zero  strong_unbalanced  \n","70     llama      zero  strong_unbalanced  \n","71     llama      zero  strong_unbalanced  \n","\n","[72 rows x 9 columns]"]},"execution_count":28,"metadata":{},"output_type":"execute_result"}],"source":["import pandas as pd\n","import numpy as np\n","from sklearn.metrics import f1_score\n","\n","# Assume that filtered_df is already loaded and that the clean_text function is defined.\n","# Also assume that 'filtered_df' has columns:\n","#   - 'labels': the true labels,\n","#   - 'model_classification': the raw output from the model,\n","#   - 'model': the model name,\n","#   - 'random_seed': the seed used,\n","#   - 'dataset': the dataset type.\n","#\n","# First, create a new column with the cleaned classification labels.\n","filtered_df['model_label_cleaned'] = filtered_df['model_classification'].apply(clean_text)\n","\n","# List of dataset types to consider\n","datasets = ['combined_balanced', 'combined_unbalanced', 'strong_balanced', 'strong_unbalanced']\n","\n","# Define unique classes based on the true labels in your results DataFrame\n","classes = sorted(filtered_df['labels'].unique())\n","\n","# Define unique models from your DataFrame\n","models = sorted(filtered_df['model'].unique())\n","\n","# Define the shot types\n","shot_types = [\"few\", \"zero\"]\n","\n","# Initialize nested dictionaries to accumulate per-class F1 scores, macro F1 scores, and case counts.\n","# Now includes shot_type in the structure\n","class_f1_scores = {\n","    model: {cls: {ds: {shot: [] for shot in shot_types} for ds in datasets} for cls in classes}\n","    for model in models\n","}\n","macro_f1_scores = {\n","    model: {ds: {shot: [] for shot in shot_types} for ds in datasets} for model in models\n","}\n","case_counts = {\n","    model: {cls: {ds: {shot: [] for shot in shot_types} for ds in datasets} for cls in classes}\n","    for model in models\n","}\n","\n","# Loop over each random seed, dataset type, shot type, and model.\n","for seed in filtered_df['random_seed'].unique():\n","    for ds in datasets:\n","        for shot in shot_types:\n","            for model in models:\n","                # Subset the DataFrame for the current seed, dataset type, shot type, and model.\n","                subset = filtered_df[\n","                    (filtered_df['random_seed'] == seed) &\n","                    (filtered_df[\"dataset\"] == ds) &\n","                    (filtered_df[\"shot_type\"] == shot) &\n","                    (filtered_df[\"model\"] == model) &\n","                    (filtered_df[\"model_label_cleaned\"] != \"\")\n","                ]\n","\n","                if subset.empty:\n","                    continue\n","\n","                f1_scores_per_seed = []  # Collect F1 scores for the current seed/dataset/model/shot_type\n","\n","                # Calculate per-class F1 scores.\n","                for cls in classes:\n","                    # Create binary vectors: 1 if the true/predicted label equals the current class, else 0.\n","                    y_true = (subset['labels'] == cls).astype(int)\n","                    y_pred = (subset['model_label_cleaned'] == cls).astype(int)\n","\n","                    # Compute the F1 score for the current class.\n","                    f1 = f1_score(y_true, y_pred, zero_division=0)\n","                    class_f1_scores[model][cls][ds][shot].append(f1)\n","                    f1_scores_per_seed.append(f1)\n","\n","                    # Count the number of occurrences of this class in the true labels.\n","                    case_count = y_true.sum()\n","                    case_counts[model][cls][ds][shot].append(case_count)\n","\n","                # Compute the Macro F1 score (average of per-class F1 scores) for the current seed/dataset/model/shot_type.\n","                macro_f1 = np.mean(f1_scores_per_seed)\n","                macro_f1_scores[model][ds][shot].append(macro_f1)\n","\n","# Aggregate the results by computing the mean and standard deviation of the scores across seeds.\n","results = []\n","for model in models:\n","    for ds in datasets:\n","        for shot in shot_types:\n","            # Macro F1 scores for the current model, dataset, and shot type.\n","            macro_scores = macro_f1_scores[model][ds][shot]\n","            avg_macro_f1 = np.mean(macro_scores) if macro_scores else np.nan\n","            sd_macro_f1 = np.std(macro_scores, ddof=1) if len(macro_scores) > 1 else np.nan\n","\n","            for cls in classes:\n","                scores = class_f1_scores[model][cls][ds][shot]\n","                avg_f1 = np.mean(scores) if scores else np.nan\n","                sd_f1 = np.std(scores, ddof=1) if len(scores) > 1 else np.nan\n","\n","                avg_case_count = np.mean(case_counts[model][cls][ds][shot]) if case_counts[model][cls][ds][shot] else 0\n","\n","                results.append({\n","                    'class': cls,\n","                    'avg_F1_Score': avg_f1,\n","                    'sd_F1_Score': sd_f1,\n","                    'macro_F1': avg_macro_f1,\n","                    'sd_macro_F1': sd_macro_f1,\n","                    'case_count': avg_case_count,\n","                    'model': model,\n","                    'shot_type': shot,\n","                    'dataset': ds\n","                })\n","\n","# Convert the results list into a DataFrame\n","results_df = pd.DataFrame(results)\n","\n","# Save the aggregated results to CSV\n","results_df.to_csv(\"/content/drive/MyDrive/personality/classification/data/input/classification_results_prompting_final.csv\", index=False)\n","\n","# Print the summary DataFrame\n","print(results_df)\n"]},{"cell_type":"markdown","metadata":{"id":"TSCPtddTEPpD"},"source":["## Labeling the unlabaled data\n"]},{"cell_type":"code","execution_count":17,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"DsN1Ndgxytav","outputId":"26dae2f6-f365-4c8f-87bb-1cc3d1f2c678","executionInfo":{"status":"ok","timestamp":1741290411416,"user_tz":-60,"elapsed":2449190,"user":{"displayName":"Lukas","userId":"09276477477582089903"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["Original dataset saved.\n","Processing chunk 0: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:06:03.637434\n","Processing chunk 0: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:06:03.639936\n","Processing chunk 1: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:06:03.648416\n","Processing chunk 0: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:06:03.651155\n","45100    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","45101    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45102    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45103    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45104    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","                               ...                        \n","45195    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45196    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45197    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45198    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45199    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 1 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_1_trump_llama_42_few.csv\n","Processing chunk 1: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:07:41.354937\n","45000    Ergebnis: [none]\\nErläuterung: [Aussage bezieh...\n","45001    Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...\n","45002    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45003    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45004    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","                               ...                        \n","45095    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45096    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45097    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45098    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45099    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 0 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_0_trump_llama_42_few.csv\n","Processing chunk 1: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:07:41.682403\n","45000    Ergebnis: [none]  \\nErläuterung: Die Aussage e...\n","45001    Ergebnis: [none]  \\nErläuterung: Die Aussage e...\n","45002    Ergebnis: [none]  \\nErläuterung: Die Aussage e...\n","45003    Ergebnis: [none]  \\nErläuterung: [Aussage mach...\n","45004    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","                               ...                        \n","45095    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","45096    Ergebnis: [none]  \\nErläuterung: [Aussage mach...\n","45097    Ergebnis: [none]  \\nErläuterung: Die Aussage m...\n","45098    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45099    Ergebnis: [none]\\n    Erläuterung: [Aussage ma...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 0 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_0_trump_gpt_42_few.csv\n","Processing chunk 2: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:08:34.619167\n","45200    Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...\n","45201    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","45202    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","45203    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","45204    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","                               ...                        \n","45295    Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...\n","45296    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","45297    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","45298    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","45299    Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 2 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_2_trump_llama_42_few.csv\n","Processing chunk 2: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:10:08.656317\n","45100    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","45101    Ergebnis: [none]  \\nErläuterung: Die Aussage b...\n","45102    Ergebnis: [none]  \\nErläuterung: Die Aussage e...\n","45103    Ergebnis: [none]  \\nErläuterung: Die Aussage b...\n","45104    Ergebnis: [none]  \\nErläuterung: Die Aussage e...\n","                               ...                        \n","45195    Ergebnis: [emp]  \\nErläuterung: [Aussage impli...\n","45196    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45197    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45198    Ergebnis: [none]\\n    Erläuterung: [Aussage ma...\n","45199    Ergebnis: [none] Erläuterung: [Die Aussage mac...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 1 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_1_trump_gpt_42_few.csv\n","Processing chunk 2: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:10:11.360997\n","45200    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45201    Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...\n","45202    Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...\n","45203    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45204    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","                               ...                        \n","45295    Ergebnis: [dur]  \\nErläuterung: [Aussage bezie...\n","45296    Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...\n","45297    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","45298    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45299    Ergebnis: [none]  \\nErläuterung: Die Aussage b...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 2 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_2_trump_gpt_42_few.csv\n","Processing chunk 3: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:12:58.079933\n","45300    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45301    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45302    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45303    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45304    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","                               ...                        \n","45395    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","45396    Ergebnis: [emp]\\nErläuterung: [Aussage verweis...\n","45397    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","45398    Ergebnis: [none]\\nErläuterung: Die Aussage \"Wa...\n","45399    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 3 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_3_trump_llama_42_few.csv\n","Processing chunk 3: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:14:31.661766\n","Chunk 0 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_0_trump_deepseak_42_few.csv\n","Processing chunk 3: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:16:39.773276\n","45300    Ergebnis: [emp]  \\nErläuterung: [Aussage bezie...\n","45301    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45302    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45303    Ergebnis: [none]\\n    Erläuterung: [Aussage ma...\n","45304    Ergebnis: [none]  \\nErläuterung: Die Aussage s...\n","                               ...                        \n","45395    Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...\n","45396    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45397    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45398    Ergebnis: [none]\\nErläuterung: Die Aussage ent...\n","45399    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 3 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_3_trump_gpt_42_few.csv\n","Processing chunk 4: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:17:08.741557\n","Chunk 1 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_1_trump_deepseak_42_few.csv\n","Processing chunk 4: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:17:56.069751\n","45400    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45401    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45402    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45403    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45404    Ergebnis: [emp]\\nErläuterung: [Aussage verweis...\n","                               ...                        \n","45495    Ergebnis: [emp]\\nErläuterung: [Aussage verweis...\n","45496    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45497    Ergebnis: [none]\\nErläuterung: Die Aussage mac...\n","45498    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45499    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 4 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_4_trump_llama_42_few.csv\n","Processing chunk 4: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:18:35.371392\n","Chunk 2 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_2_trump_deepseak_42_few.csv\n","Processing chunk 5: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:20:26.928074\n","45400    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45401    Ergebnis: [none]  \\nErläuterung: Die Aussage m...\n","45402    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45403    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","45404    Ergebnis: [emp]  \\nErläuterung: [Aussage kann ...\n","                               ...                        \n","45495    Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...\n","45496    Ergebnis: [emp]  \\nErläuterung: [Aussage verwe...\n","45497    Ergebnis: [none]\\n    Erläuterung: Die Aussage...\n","45498    Ergebnis: [none]  \\nErläuterung: Die Aussage m...\n","45499    Ergebnis: [none] Erläuterung: [Die Aussage mac...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 4 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_4_trump_gpt_42_few.csv\n","Processing chunk 5: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:20:41.619066\n","45500    Ergebnis: [none]\\nErläuterung: Die Aussage mac...\n","45501    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45502    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45503    Ergebnis: [none]\\nErläuterung: Die Aussage mac...\n","45504    Ergebnis: [none]\\nErläuterung: Die Aussage \"Ab...\n","                               ...                        \n","45595    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45596    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","45597    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45598    Ergebnis: [none]\\nErläuterung: Die Aussage mac...\n","45599    Ergebnis: [none]\\nErläuterung: [Die Aussage be...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 5 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_5_trump_llama_42_few.csv\n","Processing chunk 5: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:21:56.292084\n","45500    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","45501    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","45502    Ergebnis: [none]  \\nErläuterung: Die Aussage e...\n","45503    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45504    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","                               ...                        \n","45595    Ergebnis: [dur]  \\nErläuterung: [Aussage zeigt...\n","45596    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45597    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45598    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45599    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 5 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_5_trump_gpt_42_few.csv\n","Processing chunk 6: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:23:18.494679\n","45600    Ergebnis: [none]\\nErläuterung: Die Aussage mac...\n","45601    Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...\n","45602    Ergebnis: [none]\\nErläuterung: Die Aussage ist...\n","45603    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45604    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","                               ...                        \n","45695    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45696    Ergebnis: [none]\\nErläuterung: Die Aussage \"Me...\n","45697    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45698    Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...\n","45699    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 6 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_6_trump_llama_42_few.csv\n","Processing chunk 6: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:24:47.484246\n","45600    Ergebnis: [none] Erläuterung: [Die Aussage mac...\n","45601    Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...\n","45602    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45603    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45604    Ergebnis: [dur]  \\nErläuterung: [Aussage impli...\n","                               ...                        \n","45695    Ergebnis: [none]  \\nErläuterung: Die Aussage e...\n","45696    Ergebnis: [none]\\nErläuterung: Die Aussage ent...\n","45697    Ergebnis: [none]\\n    Erläuterung: [Aussage gi...\n","45698    Ergebnis: [none]  \\nErläuterung: Die Aussage b...\n","45699    Ergebnis: [none]  \\nErläuterung: Die Aussage g...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 6 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_6_trump_gpt_42_few.csv\n","Processing chunk 6: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:26:56.121223\n","Chunk 3 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_3_trump_deepseak_42_few.csv\n","Processing chunk 7: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:27:13.937383\n","45700    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45701    Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...\n","45702    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","45703    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45704    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","                               ...                        \n","45795    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45796    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","45797    Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...\n","45798    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45799    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 7 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_7_trump_llama_42_few.csv\n","Processing chunk 7: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:28:40.390732\n","Chunk 4 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_4_trump_deepseak_42_few.csv\n","Processing chunk 7: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:29:10.654142\n","45700    Ergebnis: [emp]\\n    Erläuterung: [Aussage kri...\n","45701    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45702    Ergebnis: [none]  \\nErläuterung: Die Aussage e...\n","45703    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45704    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","                               ...                        \n","45795    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45796    Ergebnis: [none]\\n    Erläuterung: Die Aussage...\n","45797    Ergebnis: [dur]\\n    Erläuterung: [Aussage zei...\n","45798    Ergebnis: [emp]  \\nErläuterung: [Aussage bezie...\n","45799    Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 7 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_7_trump_gpt_42_few.csv\n","Processing chunk 8: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:30:40.617799\n","45800    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45801    Ergebnis: [none]\\nErläuterung: Die Aussage bez...\n","45802    Ergebnis: [emp]\\nErläuterung: [Aussage fordert...\n","45803    Ergebnis: [emp]\\nErläuterung: [Aussage fordert...\n","45804    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","                               ...                        \n","45895    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45896    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45897    Ergebnis: [none]\\nErläuterung: [Aussage macht ...\n","45898    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","45899    Ergebnis: [none]\\nErläuterung: Die Aussage bes...\n","Name: model_classification_llama, Length: 100, dtype: object\n","Chunk 8 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_8_trump_llama_42_few.csv\n","Processing chunk 8: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:32:15.828716\n","Chunk 5 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_5_trump_deepseak_42_few.csv\n","Processing chunk 8: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:32:25.615471\n","45800    Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...\n","45801    Ergebnis: [none]  \\nErläuterung: [Die Aussage ...\n","45802    Ergebnis: [emp]\\n    Erläuterung: [Aussage for...\n","45803    Ergebnis: [emp]\\n    Erläuterung: [Aussage zei...\n","45804    Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...\n","                               ...                        \n","45895    Ergebnis: [none]\\n    Erläuterung: [Aussage ma...\n","45896    Ergebnis: [emp]  \\nErläuterung: [Aussage verwe...\n","45897    Ergebnis: [none]\\n    Erläuterung: [Aussage ma...\n","45898    Ergebnis: [none]\\n    Erläuterung: [Aussage ma...\n","45899    Ergebnis: [none]   \\nErläuterung: Die Aussage ...\n","Name: model_classification_gpt, Length: 100, dtype: object\n","Chunk 8 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_8_trump_gpt_42_few.csv\n","Processing chunk 9: seed=42, shot_type=few, model=llama, dataset=trump\n","2025-03-06 19:34:07.967545\n","45900    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45901    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45902    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45903    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45904    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","                               ...                        \n","45978    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45979    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","45980    Ergebnis: [dur]\\nErläuterung: [Aussage verweis...\n","45981    Ergebnis: [emp]\\nErläuterung: [Aussage fordert...\n","45982    Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...\n","Name: model_classification_llama, Length: 83, dtype: object\n","Chunk 9 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_9_trump_llama_42_few.csv\n","Processing chunk 9: seed=42, shot_type=few, model=gpt, dataset=trump\n","2025-03-06 19:35:21.568139\n","45900    Ergebnis: [none]   \\nErläuterung: Die Aussage ...\n","45901    Ergebnis: [dur]  \\nErläuterung: [Aussage beton...\n","45902    Ergebnis: [emp]\\n    Erläuterung: [Aussage zei...\n","45903    Ergebnis: [emp]\\n    Erläuterung: [Aussage for...\n","45904    Ergebnis: [emp]\\n    Erläuterung: [Aussage zei...\n","                               ...                        \n","45978    Ergebnis: [none]\\n    Erläuterung: [Die Aussag...\n","45979    Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...\n","45980    Ergebnis: [dur]\\n    Erläuterung: [Aussage ver...\n","45981    Ergebnis: [emp]  \\nErläuterung: [Aussage forde...\n","45982    Ergebnis: [emp]  \\nErläuterung: [Aussage forde...\n","Name: model_classification_gpt, Length: 83, dtype: object\n","Chunk 9 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_9_trump_gpt_42_few.csv\n","Processing chunk 9: seed=42, shot_type=few, model=deepseak, dataset=trump\n","2025-03-06 19:36:57.524431\n","Chunk 6 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_6_trump_deepseak_42_few.csv\n","Chunk 7 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_7_trump_deepseak_42_few.csv\n","Chunk 8 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_8_trump_deepseak_42_few.csv\n","Chunk 9 saved to /content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/results_chunk_9_trump_deepseak_42_few.csv\n","All chunks processed and saved.\n"]}],"source":["import pandas as pd\n","import os\n","import datetime\n","from concurrent.futures import ThreadPoolExecutor, as_completed\n","\n","# Load datasets\n","df_unlabeled = pd.read_csv(\"/content/drive/MyDrive/personality/classification/data/input/unlabaled/unlabeled_input_final.csv\")\n","df_trump = pd.read_csv(\"/content/drive/MyDrive/personality/classification/data/debate_translated.csv\").rename(columns={\"german_translation\": \"text\"})\n","\n","# Add dataset identifiers\n","df_unlabeled[\"dataset\"] = \"unlabeled\"\n","df_trump[\"dataset\"] = \"trump\"\n","\n","# Combine datasets\n","df = pd.concat([df_unlabeled, df_trump], ignore_index=True)\n","\n","# Keep original columns\n","original_columns = [\"doc_id\", \"source\", \"year\", \"wikidata_id\", \"sentence_id\", \"text\", \"prev_sentence\", \"next_sentence\", \"name\", \"gender\", \"party\"]\n","df_original = df[original_columns]\n","df_original.to_csv(\"/content/drive/MyDrive/personality/classification/data/original_data.csv\", index=False)\n","print(\"Original dataset saved.\")\n","\n","# Define processing parameters\n","random_seeds = [42]\n","models = ['llama',\"gpt\",\"deepseak\"]\n","datasets = ['trump']\n","shot_types = ['few']\n","chunk_size = 100\n","\n","# Output path\n","output_dir = '/content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/'\n","\n","def process_chunk(df_chunk, chunk_idx, seed, shot_type, model, dataset):\n","    try:\n","        output_path = os.path.join(output_dir, f\"results_chunk_{chunk_idx}_{dataset}_{model}_{seed}_{shot_type}.csv\")\n","\n","        # Skip processing if file already exists\n","        if os.path.exists(output_path):\n","            print(f\"Skipping chunk {chunk_idx} as it is already processed: {output_path}\")\n","            return\n","\n","        df_chunk = df_chunk.copy()\n","        df_chunk['random_seed'] = seed\n","        df_chunk['shot_type'] = shot_type\n","        df_chunk['model'] = model\n","\n","        print(f\"Processing chunk {chunk_idx}: seed={seed}, shot_type={shot_type}, model={model}, dataset={dataset}\")\n","        print(datetime.datetime.utcnow())\n","\n","        # Apply classification function\n","        if model == 'deepseak' and shot_type == 'few':\n","            df_chunk['model_classification_deepseak'] = df_chunk.apply(apply_classification_deepseak, axis=1, seed=seed)\n","\n","        if model == 'gpt' and shot_type == 'few':\n","            df_chunk['model_classification_gpt'] = df_chunk.apply(apply_classification_gpt, axis=1, seed=seed)\n","            print(df_chunk['model_classification_gpt'])\n","\n","        if model == 'llama' and shot_type == 'few':\n","            df_chunk['model_classification_llama'] = df_chunk.apply(apply_classification_llama, axis=1, seed=seed)\n","            print(df_chunk['model_classification_llama'])\n","\n","        df_chunk.to_csv(output_path, index=False)\n","        print(f\"Chunk {chunk_idx} saved to {output_path}\")\n","\n","    except Exception as e:\n","        print(f\"Error processing chunk {chunk_idx}, dataset {dataset}, model {model}, seed {seed}, shot_type {shot_type}: {e}\")\n","\n","# Process data in chunks\n","with ThreadPoolExecutor(max_workers=4) as executor:\n","    futures = []\n","    for dataset in datasets:\n","        df_subset = df[df['dataset'] == dataset]\n","        num_chunks = (len(df_subset) // chunk_size) + 1\n","\n","        for chunk_idx, df_chunk in enumerate(pd.DataFrame(df_subset).groupby(df_subset.index // chunk_size)):\n","            df_chunk = df_chunk[1]\n","\n","            for seed in random_seeds:\n","                for shot_type in shot_types:\n","                    for model in models:\n","                        futures.append(executor.submit(process_chunk, df_chunk, chunk_idx, seed, shot_type, model, dataset))\n","\n","    for future in as_completed(futures):\n","        future.result()  # Ensure all processing is completed\n","\n","print(\"All chunks processed and saved.\")\n"]},{"cell_type":"code","source":["import glob\n","import pandas as pd\n","import os\n","\n","# Define the directory where the chunk CSV files are saved\n","output_dir = '/content/drive/MyDrive/personality/classification/data/input/classification_results_chunks_gpt/'\n","\n","# Create a glob pattern to match all CSV files for the \"llama\" model with \"few\" shot type\n","pattern = os.path.join(output_dir, \"results_chunk_*_trump_*_*_few.csv\")\n","\n","# Get the list of files matching the pattern\n","file_list = glob.glob(pattern)\n","print(f\"Found {len(file_list)} files.\")\n","\n","# Read each CSV and collect the DataFrames in a list\n","dfs = [pd.read_csv(file) for file in file_list]\n","\n","# Concatenate all DataFrames into one\n","df_all = pd.concat(dfs, ignore_index=True)\n","\n","df_all.columns\n","\n","\n","# Save the glued DataFrame to a new CSV file\n","output_glued = os.path.join(output_dir, \"results_all_trump_few.csv\")\n","\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":1000},"id":"T6oZUfu0Gl01","executionInfo":{"status":"ok","timestamp":1741293506229,"user_tz":-60,"elapsed":46,"user":{"displayName":"Lukas","userId":"09276477477582089903"}},"outputId":"25e84173-3f82-43b1-fb36-2c1eed8afd14"},"execution_count":28,"outputs":[{"output_type":"execute_result","data":{"text/plain":["      doc_id  source  year  wikidata_id  sentence_id  \\\n","0        NaN     NaN   NaN          NaN          NaN   \n","1        NaN     NaN   NaN          NaN          NaN   \n","2        NaN     NaN   NaN          NaN          NaN   \n","3        NaN     NaN   NaN          NaN          NaN   \n","4        NaN     NaN   NaN          NaN          NaN   \n","...      ...     ...   ...          ...          ...   \n","2944     NaN     NaN   NaN          NaN          NaN   \n","2945     NaN     NaN   NaN          NaN          NaN   \n","2946     NaN     NaN   NaN          NaN          NaN   \n","2947     NaN     NaN   NaN          NaN          NaN   \n","2948     NaN     NaN   NaN          NaN          NaN   \n","\n","                                                   text  prev_sentence  \\\n","0                    Die Demokraten sind darin radikal.            NaN   \n","1     Und ihre Wahl zum Vizepräsidenten, die ich übr...            NaN   \n","2     Aber ihre Vizepräsidentschaftskandidatin sagt,...            NaN   \n","3     Er sagt auch, dass die Hinrichtung nach der Ge...            NaN   \n","4                Und das ist nicht in Ordnung für mich.            NaN   \n","...                                                 ...            ...   \n","2944  Und ich sage Ihnen, als Staatsanwalt habe ich ...            NaN   \n","2945  Das Einzige, was ich sie je gefragt habe, war:...            NaN   \n","2946  Und das ist die Art von Präsident, die wir jet...            NaN   \n","2947  Jemand, der sich um Sie kümmert und nicht sich...            NaN   \n","2948  Ich möchte ein Präsident für alle Amerikaner s...            NaN   \n","\n","      next_sentence  name  gender  ...  dataset Unnamed: 0  speaker  \\\n","0               NaN   NaN     NaN  ...    trump      100.0    trump   \n","1               NaN   NaN     NaN  ...    trump      101.0    trump   \n","2               NaN   NaN     NaN  ...    trump      102.0    trump   \n","3               NaN   NaN     NaN  ...    trump      103.0    trump   \n","4               NaN   NaN     NaN  ...    trump      104.0    trump   \n","...             ...   ...     ...  ...      ...        ...      ...   \n","2944            NaN   NaN     NaN  ...    trump      978.0   harris   \n","2945            NaN   NaN     NaN  ...    trump      979.0   harris   \n","2946            NaN   NaN     NaN  ...    trump      980.0   harris   \n","2947            NaN   NaN     NaN  ...    trump      981.0   harris   \n","2948            NaN   NaN     NaN  ...    trump      982.0   harris   \n","\n","                                               sentence random_seed  \\\n","0                    The Democrats are radical in that.          42   \n","1     And her vice presidential pick, which I think ...          42   \n","2     But her vice presidential pick says abortion i...          42   \n","3     He also says execution after birth, it's execu...          42   \n","4                          And that's not okay with me.          42   \n","...                                                 ...         ...   \n","2944  And I'll tell you, as a prosecutor I never ask...          42   \n","2945    The only thing I ever asked them, are you okay?          42   \n","2946  And that's the kind of president we need right...          42   \n","2947  Someone who cares about you and is not putting...          42   \n","2948  I intend to be a president for all Americans a...          42   \n","\n","      shot_type     model                         model_classification_llama  \\\n","0           few     llama  Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","1           few     llama  Ergebnis: [none]\\nErläuterung: Die Aussage bez...   \n","2           few     llama  Ergebnis: [none]\\nErläuterung: Die Aussage bez...   \n","3           few     llama  Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","4           few     llama  Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","...         ...       ...                                                ...   \n","2944        few  deepseak                                                NaN   \n","2945        few  deepseak                                                NaN   \n","2946        few  deepseak                                                NaN   \n","2947        few  deepseak                                                NaN   \n","2948        few  deepseak                                                NaN   \n","\n","     model_classification_gpt  \\\n","0                         NaN   \n","1                         NaN   \n","2                         NaN   \n","3                         NaN   \n","4                         NaN   \n","...                       ...   \n","2944                      NaN   \n","2945                      NaN   \n","2946                      NaN   \n","2947                      NaN   \n","2948                      NaN   \n","\n","                          model_classification_deepseak  \n","0                                                   NaN  \n","1                                                   NaN  \n","2                                                   NaN  \n","3                                                   NaN  \n","4                                                   NaN  \n","...                                                 ...  \n","2944  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...  \n","2945  Ergebnis: [emp]\\nErläuterung: [Aussage zeigt k...  \n","2946  Ergebnis: [none]\\nErläuterung: [Die Aussage ma...  \n","2947  Ergebnis: [emp]\\nErläuterung: [Aussage zeigt E...  \n","2948  Ergebnis: [dur]\\nErläuterung: [Aussage verweis...  \n","\n","[2949 rows x 21 columns]"],"text/html":["\n","  <div id=\"df-04317e11-44a2-4bfb-adaa-a6a59f3079f4\" class=\"colab-df-container\">\n","    <div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>doc_id</th>\n","      <th>source</th>\n","      <th>year</th>\n","      <th>wikidata_id</th>\n","      <th>sentence_id</th>\n","      <th>text</th>\n","      <th>prev_sentence</th>\n","      <th>next_sentence</th>\n","      <th>name</th>\n","      <th>gender</th>\n","      <th>...</th>\n","      <th>dataset</th>\n","      <th>Unnamed: 0</th>\n","      <th>speaker</th>\n","      <th>sentence</th>\n","      <th>random_seed</th>\n","      <th>shot_type</th>\n","      <th>model</th>\n","      <th>model_classification_llama</th>\n","      <th>model_classification_gpt</th>\n","      <th>model_classification_deepseak</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Die Demokraten sind darin radikal.</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>100.0</td>\n","      <td>trump</td>\n","      <td>The Democrats are radical in that.</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>llama</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Und ihre Wahl zum Vizepräsidenten, die ich übr...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>101.0</td>\n","      <td>trump</td>\n","      <td>And her vice presidential pick, which I think ...</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>llama</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bez...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Aber ihre Vizepräsidentschaftskandidatin sagt,...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>102.0</td>\n","      <td>trump</td>\n","      <td>But her vice presidential pick says abortion i...</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>llama</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bez...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Er sagt auch, dass die Hinrichtung nach der Ge...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>103.0</td>\n","      <td>trump</td>\n","      <td>He also says execution after birth, it's execu...</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>llama</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Und das ist nicht in Ordnung für mich.</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>104.0</td>\n","      <td>trump</td>\n","      <td>And that's not okay with me.</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>llama</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>...</th>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","    </tr>\n","    <tr>\n","      <th>2944</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Und ich sage Ihnen, als Staatsanwalt habe ich ...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>978.0</td>\n","      <td>harris</td>\n","      <td>And I'll tell you, as a prosecutor I never ask...</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>deepseak</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","    </tr>\n","    <tr>\n","      <th>2945</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Das Einzige, was ich sie je gefragt habe, war:...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>979.0</td>\n","      <td>harris</td>\n","      <td>The only thing I ever asked them, are you okay?</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>deepseak</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage zeigt k...</td>\n","    </tr>\n","    <tr>\n","      <th>2946</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Und das ist die Art von Präsident, die wir jet...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>980.0</td>\n","      <td>harris</td>\n","      <td>And that's the kind of president we need right...</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>deepseak</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage ma...</td>\n","    </tr>\n","    <tr>\n","      <th>2947</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Jemand, der sich um Sie kümmert und nicht sich...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>981.0</td>\n","      <td>harris</td>\n","      <td>Someone who cares about you and is not putting...</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>deepseak</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage zeigt E...</td>\n","    </tr>\n","    <tr>\n","      <th>2948</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Ich möchte ein Präsident für alle Amerikaner s...</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>...</td>\n","      <td>trump</td>\n","      <td>982.0</td>\n","      <td>harris</td>\n","      <td>I intend to be a president for all Americans a...</td>\n","      <td>42</td>\n","      <td>few</td>\n","      <td>deepseak</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","    </tr>\n","  </tbody>\n","</table>\n","<p>2949 rows × 21 columns</p>\n","</div>\n","    <div class=\"colab-df-buttons\">\n","\n","  <div class=\"colab-df-container\">\n","    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-04317e11-44a2-4bfb-adaa-a6a59f3079f4')\"\n","            title=\"Convert this dataframe to an interactive table.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n","    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n","  </svg>\n","    </button>\n","\n","  <style>\n","    .colab-df-container {\n","      display:flex;\n","      gap: 12px;\n","    }\n","\n","    .colab-df-convert {\n","      background-color: #E8F0FE;\n","      border: none;\n","      border-radius: 50%;\n","      cursor: pointer;\n","      display: none;\n","      fill: #1967D2;\n","      height: 32px;\n","      padding: 0 0 0 0;\n","      width: 32px;\n","    }\n","\n","    .colab-df-convert:hover {\n","      background-color: #E2EBFA;\n","      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","      fill: #174EA6;\n","    }\n","\n","    .colab-df-buttons div {\n","      margin-bottom: 4px;\n","    }\n","\n","    [theme=dark] .colab-df-convert {\n","      background-color: #3B4455;\n","      fill: #D2E3FC;\n","    }\n","\n","    [theme=dark] .colab-df-convert:hover {\n","      background-color: #434B5C;\n","      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","      fill: #FFFFFF;\n","    }\n","  </style>\n","\n","    <script>\n","      const buttonEl =\n","        document.querySelector('#df-04317e11-44a2-4bfb-adaa-a6a59f3079f4 button.colab-df-convert');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      async function convertToInteractive(key) {\n","        const element = document.querySelector('#df-04317e11-44a2-4bfb-adaa-a6a59f3079f4');\n","        const dataTable =\n","          await google.colab.kernel.invokeFunction('convertToInteractive',\n","                                                    [key], {});\n","        if (!dataTable) return;\n","\n","        const docLinkHtml = 'Like what you see? Visit the ' +\n","          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n","          + ' to learn more about interactive tables.';\n","        element.innerHTML = '';\n","        dataTable['output_type'] = 'display_data';\n","        await google.colab.output.renderOutput(dataTable, element);\n","        const docLink = document.createElement('div');\n","        docLink.innerHTML = docLinkHtml;\n","        element.appendChild(docLink);\n","      }\n","    </script>\n","  </div>\n","\n","\n","<div id=\"df-456ab1e6-11fa-4eb4-a9e5-0bd7ff5f575b\">\n","  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-456ab1e6-11fa-4eb4-a9e5-0bd7ff5f575b')\"\n","            title=\"Suggest charts\"\n","            style=\"display:none;\">\n","\n","<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","     width=\"24px\">\n","    <g>\n","        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n","    </g>\n","</svg>\n","  </button>\n","\n","<style>\n","  .colab-df-quickchart {\n","      --bg-color: #E8F0FE;\n","      --fill-color: #1967D2;\n","      --hover-bg-color: #E2EBFA;\n","      --hover-fill-color: #174EA6;\n","      --disabled-fill-color: #AAA;\n","      --disabled-bg-color: #DDD;\n","  }\n","\n","  [theme=dark] .colab-df-quickchart {\n","      --bg-color: #3B4455;\n","      --fill-color: #D2E3FC;\n","      --hover-bg-color: #434B5C;\n","      --hover-fill-color: #FFFFFF;\n","      --disabled-bg-color: #3B4455;\n","      --disabled-fill-color: #666;\n","  }\n","\n","  .colab-df-quickchart {\n","    background-color: var(--bg-color);\n","    border: none;\n","    border-radius: 50%;\n","    cursor: pointer;\n","    display: none;\n","    fill: var(--fill-color);\n","    height: 32px;\n","    padding: 0;\n","    width: 32px;\n","  }\n","\n","  .colab-df-quickchart:hover {\n","    background-color: var(--hover-bg-color);\n","    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n","    fill: var(--button-hover-fill-color);\n","  }\n","\n","  .colab-df-quickchart-complete:disabled,\n","  .colab-df-quickchart-complete:disabled:hover {\n","    background-color: var(--disabled-bg-color);\n","    fill: var(--disabled-fill-color);\n","    box-shadow: none;\n","  }\n","\n","  .colab-df-spinner {\n","    border: 2px solid var(--fill-color);\n","    border-color: transparent;\n","    border-bottom-color: var(--fill-color);\n","    animation:\n","      spin 1s steps(1) infinite;\n","  }\n","\n","  @keyframes spin {\n","    0% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","      border-left-color: var(--fill-color);\n","    }\n","    20% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    30% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","      border-right-color: var(--fill-color);\n","    }\n","    40% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    60% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","    }\n","    80% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-bottom-color: var(--fill-color);\n","    }\n","    90% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","    }\n","  }\n","</style>\n","\n","  <script>\n","    async function quickchart(key) {\n","      const quickchartButtonEl =\n","        document.querySelector('#' + key + ' button');\n","      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n","      quickchartButtonEl.classList.add('colab-df-spinner');\n","      try {\n","        const charts = await google.colab.kernel.invokeFunction(\n","            'suggestCharts', [key], {});\n","      } catch (error) {\n","        console.error('Error during call to suggestCharts:', error);\n","      }\n","      quickchartButtonEl.classList.remove('colab-df-spinner');\n","      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n","    }\n","    (() => {\n","      let quickchartButtonEl =\n","        document.querySelector('#df-456ab1e6-11fa-4eb4-a9e5-0bd7ff5f575b button');\n","      quickchartButtonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","    })();\n","  </script>\n","</div>\n","\n","  <div id=\"id_bb11b482-3ed3-4523-8a8a-f4761af76b65\">\n","    <style>\n","      .colab-df-generate {\n","        background-color: #E8F0FE;\n","        border: none;\n","        border-radius: 50%;\n","        cursor: pointer;\n","        display: none;\n","        fill: #1967D2;\n","        height: 32px;\n","        padding: 0 0 0 0;\n","        width: 32px;\n","      }\n","\n","      .colab-df-generate:hover {\n","        background-color: #E2EBFA;\n","        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","        fill: #174EA6;\n","      }\n","\n","      [theme=dark] .colab-df-generate {\n","        background-color: #3B4455;\n","        fill: #D2E3FC;\n","      }\n","\n","      [theme=dark] .colab-df-generate:hover {\n","        background-color: #434B5C;\n","        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","        fill: #FFFFFF;\n","      }\n","    </style>\n","    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df_all')\"\n","            title=\"Generate code using this dataframe.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","       width=\"24px\">\n","    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n","  </svg>\n","    </button>\n","    <script>\n","      (() => {\n","      const buttonEl =\n","        document.querySelector('#id_bb11b482-3ed3-4523-8a8a-f4761af76b65 button.colab-df-generate');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      buttonEl.onclick = () => {\n","        google.colab.notebook.generateWithVariable('df_all');\n","      }\n","      })();\n","    </script>\n","  </div>\n","\n","    </div>\n","  </div>\n"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"dataframe","variable_name":"df_all"}},"metadata":{},"execution_count":28}]},{"cell_type":"code","source":["# Assuming df is your dataframe\n","id_vars = ['text', 'model',\"speaker\"]\n","value_vars = ['model_classification_llama', 'model_classification_gpt', 'model_classification_deepseak']\n","\n","# Convert to long format\n","df_long = df_all.melt(id_vars=id_vars, value_vars=value_vars, var_name='model_type', value_name='classification')\n","\n","def process_classification(model_output):\n","    \"\"\"Processes the classification output into two columns.\"\"\"\n","    if not isinstance(model_output, str):\n","        return '', ''  # Handle cases where GPT output is not a string\n","\n","    try:\n","        category_start = model_output.find('Ergebnis:')\n","        explanation_start = model_output.find('Erläuterung:')\n","\n","        if category_start == -1 or explanation_start == -1:\n","            return '', ''  # If either keyword is missing, return empty values\n","\n","        categories = model_output[category_start + len('Ergebnis:'):explanation_start].strip()\n","        explanation = model_output[explanation_start + len('Erläuterung:'):].strip()\n","\n","        # Normalize formatting issues\n","        categories = categories.replace('[', '').replace(']', '').replace(' ', '').replace('\\n', '')\n","        explanation = explanation.replace('\\n', ' ').strip()\n","\n","        return categories, explanation\n","\n","    except Exception as e:\n","        print(f\"Error processing classification: {e}\")\n","        return '', ''\n","\n","\n","\n","df_long[['label', 'model_explanation']] = df_long[\"classification\"].apply(lambda x: pd.Series(process_classification(x)))\n","\n","output_dir = '/content/drive/MyDrive/personality/classification/data/trump_labaled.csv'\n","\n","\n","df_long.to_csv(output_dir, index=False)\n","\n"],"metadata":{"id":"4wxoiW7hLtRf","executionInfo":{"status":"ok","timestamp":1741293899880,"user_tz":-60,"elapsed":113,"user":{"displayName":"Lukas","userId":"09276477477582089903"}}},"execution_count":44,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"GlFGLg88FErj"},"source":["## Other Validation Steps"]},{"cell_type":"markdown","metadata":{"id":"NJT9YbdEFI5R"},"source":["#### Test sentences"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":504},"executionInfo":{"elapsed":187053,"status":"error","timestamp":1740406320487,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"h1gmw9Q6EOpk","outputId":"e86b4169-13dc-490f-e908-3f2d6c3aedee"},"outputs":[{"name":"stdout","output_type":"stream","text":["Applying gpt_explicit_zero...\n","Applying gpt_explicit_few...\n","Applying gpt_implicit_zero...\n","Applying gpt_implicit_few...\n","Applying llama_explicit_zero...\n","Applying llama_explicit_few...\n","Applying llama_implicit_zero...\n","Applying llama_implicit_few...\n","Applying deepseek_explicit_zero...\n"]},{"ename":"NameError","evalue":"name 'classify_text_explicit_zeroshot_deepseak' is not defined","output_type":"error","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)","\u001b[0;32m<ipython-input-16-341bcd153d5c>\u001b[0m in \u001b[0;36m<cell line: 0>\u001b[0;34m()\u001b[0m\n\u001b[1;32m     69\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     70\u001b[0m \u001b[0;31m# Apply classification to test dataset\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 71\u001b[0;31m \u001b[0mtest_sentences\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mapply_classifications\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf_testsentences\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m42\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;32m<ipython-input-16-341bcd153d5c>\u001b[0m in \u001b[0;36mapply_classifications\u001b[0;34m(df, seed)\u001b[0m\n\u001b[1;32m     63\u001b[0m     \u001b[0;32mfor\u001b[0m \u001b[0mmethod_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mclassification_methods\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     64\u001b[0m         \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Applying {method_name}...\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 65\u001b[0;31m         \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34mf\"{method_name}_raw\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mrow\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrow\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'text'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mseed\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     66\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     67\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.11/dist-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36mapply\u001b[0;34m(self, func, axis, raw, result_type, args, by_row, engine, engine_kwargs, **kwargs)\u001b[0m\n\u001b[1;32m  10372\u001b[0m             \u001b[0mkwargs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m  10373\u001b[0m         )\n\u001b[0;32m> 10374\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__finalize__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"apply\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m  10375\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m  10376\u001b[0m     def map(\n","\u001b[0;32m/usr/local/lib/python3.11/dist-packages/pandas/core/apply.py\u001b[0m in \u001b[0;36mapply\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    914\u001b[0m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply_raw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine_kwargs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    915\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 916\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply_standard\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    917\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    918\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0magg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.11/dist-packages/pandas/core/apply.py\u001b[0m in \u001b[0;36mapply_standard\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m   1061\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mapply_standard\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1062\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"python\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1063\u001b[0;31m             \u001b[0mresults\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mres_index\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply_series_generator\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1064\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1065\u001b[0m             \u001b[0mresults\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mres_index\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply_series_numba\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.11/dist-packages/pandas/core/apply.py\u001b[0m in \u001b[0;36mapply_series_generator\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m   1079\u001b[0m             \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mseries_gen\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1080\u001b[0m                 \u001b[0;31m# ignore SettingWithCopy here in case the user mutates\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1081\u001b[0;31m                 \u001b[0mresults\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1082\u001b[0m                 \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresults\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mABCSeries\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1083\u001b[0m                     \u001b[0;31m# If we have a view on v, we need to make a copy because\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m<ipython-input-16-341bcd153d5c>\u001b[0m in \u001b[0;36m<lambda>\u001b[0;34m(row)\u001b[0m\n\u001b[1;32m     63\u001b[0m     \u001b[0;32mfor\u001b[0m \u001b[0mmethod_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mclassification_methods\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     64\u001b[0m         \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Applying {method_name}...\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 65\u001b[0;31m         \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34mf\"{method_name}_raw\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mrow\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrow\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'text'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mseed\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     66\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     67\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m<ipython-input-16-341bcd153d5c>\u001b[0m in \u001b[0;36mclassify_text_explicit_zeroshot_deepseek_function\u001b[0;34m(sentence, seed)\u001b[0m\n\u001b[1;32m     30\u001b[0m \u001b[0;31m# Fixed DeepSeek Functions\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     31\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mclassify_text_explicit_zeroshot_deepseek_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msentence\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 32\u001b[0;31m     \u001b[0;32mreturn\u001b[0m \u001b[0mclassify_text_explicit_zeroshot_deepseak\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msentence\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mseed\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     33\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     34\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mclassify_text_explicit_fewshot_deepseek_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msentence\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mNameError\u001b[0m: name 'classify_text_explicit_zeroshot_deepseak' is not defined"]}],"source":["# Define classification functions\n","\n","# GPT\n","def classify_text_explicit_zeroshot_gpt(sentence, seed):\n","    return classify_text_explicit_zeroshot_4o(sentence, seed=seed)\n","\n","def classify_text_explicit_fewshot_gpt(sentence, seed):\n","    return classify_text_explicit_fewshot_4o(sentence, seed=seed)\n","\n","def classify_text_implicit_zeroshot_gpt(sentence, seed):\n","    return classify_text_implicit_zeroshot_4o(sentence, seed=seed)\n","\n","def classify_text_implicit_fewshot_gpt(sentence, seed):\n","    return classify_text_implicit_fewshot_4o(sentence, seed=seed)\n","\n","# LLaMA\n","def classify_text_explicit_zeroshot_llama(sentence, seed):\n","    return classify_text_explicit_zeroshot_4o_llama(sentence, seed=seed)\n","\n","def classify_text_explicit_fewshot_llama(sentence, seed):\n","    return classify_text_explicit_fewshot_4o_llama(sentence, seed=seed)\n","\n","def classify_text_implicit_zeroshot_llama(sentence, seed):\n","    return classify_text_implicit_zeroshot_4o_llama(sentence, seed=seed)\n","\n","def classify_text_implicit_fewshot_llama(sentence, seed):\n","    return classify_text_implicit_fewshot_4o_llama(sentence, seed=seed)\n","\n","#\n","# Fixed DeepSeek Functions\n","def classify_text_explicit_zeroshot_deepseek_function(sentence, seed):\n","    return classify_text_explicit_zeroshot_deepseak(sentence, seed=seed)\n","\n","def classify_text_explicit_fewshot_deepseek_function(sentence, seed):\n","    return classify_text_explicit_fewshot_deepseak(sentence, seed=seed)\n","\n","def classify_text_implicit_zeroshot_deepseek_function(sentence, seed):\n","    return classify_text_implicit_zeroshot_deepseak(sentence, seed=seed)\n","\n","def classify_text_implicit_fewshot_deepseek_function(sentence, seed):\n","    return classify_text_implicit_fewshot_deepseak(sentence, seed=seed)\n","\n","\n","# Apply classification to each model, approach, and prompting type\n","def apply_classifications(df, seed=42):\n","    classification_methods = {\n","        \"gpt_explicit_zero\": classify_text_explicit_zeroshot_gpt,\n","        \"gpt_explicit_few\": classify_text_explicit_fewshot_gpt,\n","        \"gpt_implicit_zero\": classify_text_implicit_zeroshot_gpt,\n","        \"gpt_implicit_few\": classify_text_implicit_fewshot_gpt,\n","\n","        \"llama_explicit_zero\": classify_text_explicit_zeroshot_llama,\n","        \"llama_explicit_few\": classify_text_explicit_fewshot_llama,\n","        \"llama_implicit_zero\": classify_text_implicit_zeroshot_llama,\n","        \"llama_implicit_few\": classify_text_implicit_fewshot_llama,\n","\n","        \"deepseek_explicit_zero\": classify_text_explicit_zeroshot_deepseek_function,\n","        \"deepseek_explicit_few\": classify_text_explicit_fewshot_deepseek_function,\n","        \"deepseek_implicit_zero\": classify_text_implicit_zeroshot_deepseek_function,\n","        \"deepseek_implicit_few\": classify_text_implicit_fewshot_deepseek_function\n","    }\n","\n","    for method_name, method in classification_methods.items():\n","        print(f\"Applying {method_name}...\")\n","        df[f\"{method_name}_raw\"] = df.apply(lambda row: method(row['text'], seed=seed), axis=1)\n","    return df\n","\n","df_testsentences = pd.read_csv(\"/content/drive/MyDrive/personality/classification/data/test_sentences/test_sentences.csv\")\n","\n","# Apply classification to test dataset\n","test_sentences = apply_classifications(df_testsentences, seed=42)\n"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":1000},"executionInfo":{"elapsed":90,"status":"ok","timestamp":1740165285747,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"8GmjhwEk6XMN","outputId":"25a06bda-addd-4442-c999-8b7db80269ce"},"outputs":[{"data":{"application/vnd.google.colaboratory.intrinsic+json":{"summary":"{\n  \"name\": \"df_testsentences\",\n  \"rows\": 18,\n  \"fields\": [\n    {\n      \"column\": \"text\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Ich bin einf\\u00fchlsam, zeige echtes Mitgef\\u00fchl.\",\n          \"Ich zeige Verst\\u00e4ndnis f\\u00fcr Bed\\u00fcrfnisse benachteiligter Menschen.\",\n          \"Ich bin eine geborene F\\u00fchrungsperson.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"expected_label\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gpt_explicit_zero_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Ergebnis: emp\\n    Erl\\u00e4uterung: Die Aussage hebt das Mitgef\\u00fchl und Einf\\u00fchlungsverm\\u00f6gen des Politikers direkt hervor.\",\n          \"Ergebnis: emp\\n    Erl\\u00e4uterung: Die Aussage zeigt Empathie, indem sie Verst\\u00e4ndnis f\\u00fcr die Bed\\u00fcrfnisse benachteiligter Menschen ausdr\\u00fcckt.\",\n          \"Ergebnis: [dur]  \\nErl\\u00e4uterung: Die Aussage zeigt einen expliziten Anspruch auf eine F\\u00fchrungsrolle.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gpt_explicit_few_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Ergebnis: [emp]  \\nErl\\u00e4uterung: [Aussage fordert konkret Mitgef\\u00fchl und Empathie]\",\n          \"Ergebnis: [emp]  \\nErl\\u00e4uterung: [Aussage zeigt Verst\\u00e4ndnis f\\u00fcr die Bed\\u00fcrfnisse benachteiligter Menschen, was auf Empathie und Mitgef\\u00fchl hinweist.]\",\n          \"Ergebnis: [dur]  \\nErl\\u00e4uterung: [Aussage verweist auf eigene wahrgenommene F\\u00fchrungsrolle.]\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gpt_implicit_zero_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Ergebnis: emp  \\nErl\\u00e4uterung: Die Aussage betont bewusstsein f\\u00fcr Empathie und Mitgef\\u00fchl, indem der Sprecher seine F\\u00e4higkeit zur Empathie und echtes Mitgef\\u00fchl f\\u00fcr andere betont.\",\n          \"Ergebnis: emp\\n    Erl\\u00e4uterung: Die Aussage zeigt Empathie und Mitgef\\u00fchl, da sie explizit Verst\\u00e4ndnis f\\u00fcr die Bed\\u00fcrfnisse benachteiligter Menschen ausdr\\u00fcckt.\",\n          \"Ergebnis: dur  \\nErl\\u00e4uterung: Die Aussage zeigt einen Verweis auf eine wahrgenommene eigene F\\u00fchrungsrolle, was auf Durchsetzungsf\\u00e4higkeit & F\\u00fchrungsanspruch hinweist.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gpt_implicit_few_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Ergebnis: [emp]  \\nErl\\u00e4uterung: [Aussage beschreibt die eigene empathische Eigenschaft und zeigt direkt Mitgef\\u00fchl.]\",\n          \"Ergebnis: [emp]  \\nErl\\u00e4uterung: [Aussage zeigt Empathie und Verst\\u00e4ndnis f\\u00fcr die Bed\\u00fcrfnisse benachteiligter Menschen.]\",\n          \"Ergebnis: [dur]  \\nErl\\u00e4uterung: [Aussage verweist auf eigene wahrgenommene F\\u00fchrungsrolle.]\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"llama_explicit_zero_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: Die Aussage zeigt, dass der Politiker ein empathischer und einf\\u00fchlender Mensch ist, der mit anderen Menschen sympathisiert und ihren Gef\\u00fchlen zuzuh\\u00f6ren bereit ist.\",\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: Die Aussage zeigt, dass der Politiker versteht, dass auch benachteiligte Menschen Bed\\u00fcrfnisse haben, und welche (vgl. dritte Beispiele dieser Kategorie).\",\n          \"Ergebnis: [dur]\\nErl\\u00e4uterung: Die Aussage zeigt, dass der Politiker einen F\\u00fchrungsanspruch hat und bereit ist, verantwortungsvolle Rollen auszufullen, indem er sich selbst als F\\u00fchrungsperson bezeichnet.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"llama_explicit_few_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 17,\n        \"samples\": [\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: [Aussage bezieht sich auf pers\\u00f6nliche Einf\\u00fchlungs- und Mitgef\\u00fchl-Erkl\\u00e4rung]\",\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: [Aussage bezieht sich auf die Verst\\u00e4ndnis f\\u00fcr die Bed\\u00fcrfnisse von benachteiligten Menschen, die typisch f\\u00fcr Empathie & Mitgef\\u00fchl ist]\",\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: [Aussage bezieht sich auf konkrete (benachteiligte) Menschen(gruppen) oder Personen]\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"llama_implicit_zero_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: Die Aussage zeigt, dass der Politiker ein empathischer und einf\\u00fchlender Mensch ist, der mitf\\u00fchlend gegen\\u00fcber den Menschen auftritt und emotional disponiert ist, was den Empathie- und Mitgef\\u00fchlaspekt ber\\u00fccksichtigt.\",\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: Die Aussage zeigt, dass der Politiker versteht und mit der Situation benachteiligter Menschen vorliegende Bed\\u00fcrfnisse einf\\u00fchlt.\",\n          \"Ergebnis: [dur]\\nErl\\u00e4uterung: Die Aussage \\\"Ich bin eine geborene F\\u00fchrungsperson\\\" weist auf die Durchsetzungsf\\u00e4higkeit und den Anspruch auf F\\u00fchrungspositionen hin, was dem zweiten Konzept \\\"Durchsetzungsf\\u00e4higkeit & F\\u00fchrungsanspruch\\\" zugeordnet werden kann.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"llama_implicit_few_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 17,\n        \"samples\": [\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: [Aussage bezieht sich auf eine pers\\u00f6nliche Einstellung des Politikers, die empathisch-orientiert ist]\",\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: [Aussage bezieht sich auf Verst\\u00e4ndnis f\\u00fcr Bed\\u00fcrfnisse benachteiligter Menschen, was ein Zeichen von Empathie ist]\",\n          \"Ergebnis: [none]\\nErl\\u00e4uterung: [Aussage macht keine R\\u00fcckschl\\u00fcsse \\u00fcber eine Verhaltensweise des Politikers, die auf die ersten beiden Kategorien \\\"Empathie und Mitgef\\u00fchl\\\" oder **Durchsetzungsf\\u00e4higkeit & F\\u00fchrungsanspruch** zur\\u00fcckzuf\\u00fchren ist.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"deepseek_explicit_zero_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 14,\n        \"samples\": [\n          \"Ergebnis: [none]  \\nErl\\u00e4uterung: Die Aussage enth\\u00e4lt keine Hinweise auf Empathie, Mitgef\\u00fchl oder Durchsetzungsf\\u00e4higkeit und F\\u00fchrungsanspruch.\",\n          \"Ergebnis: [none]  \\nErl\\u00e4uterung: Die Aussage beschreibt eine geplante Vorgehensweise ohne Bezug zu Empathie, Mitgef\\u00fchl oder F\\u00fchrungsanspruch.\",\n          \"Ergebnis: [emp]  \\nErl\\u00e4uterung: Die Aussage zeigt explizit Empathie und Mitgef\\u00fchl.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"deepseek_explicit_few_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 14,\n        \"samples\": [\n          \"Ergebnis: [none]  \\nErl\\u00e4uterung: [Die Aussage macht keine R\\u00fcckschl\\u00fcsse auf Empathie/Mitgef\\u00fchl oder Durchsetzungsf\\u00e4higkeit/F\\u00fchrungsanspruch.]\",\n          \"Ergebnis: [none]\\nErl\\u00e4uterung: [Die Aussage macht keine R\\u00fcckschl\\u00fcsse auf Empathie, Mitgef\\u00fchl, Durchsetzungsf\\u00e4higkeit oder F\\u00fchrungsanspruch.]\",\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: [Aussage fordert konkret Mitgef\\u00fchl und Empathie]\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"deepseek_implicit_zero_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 16,\n        \"samples\": [\n          \"Ergebnis: [emp]  \\nErl\\u00e4uterung: Die Aussage zeigt explizit Empathie und Mitgef\\u00fchl.\",\n          \"Ergebnis: [emp]  \\nErl\\u00e4uterung: Die Aussage zeigt explizit Empathie, da der Politiker Verst\\u00e4ndnis f\\u00fcr die Bed\\u00fcrfnisse benachteiligter Menschen \\u00e4u\\u00dfert.\",\n          \"Ergebnis: [none]\\nErl\\u00e4uterung: Die Aussage beschreibt eine Haltung, aber sie zeigt weder Empathie und Mitgef\\u00fchl noch Durchsetzungsf\\u00e4higkeit und F\\u00fchrungsanspruch.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"deepseek_implicit_few_raw\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 13,\n        \"samples\": [\n          \"Ergebnis: [none]\\nErl\\u00e4uterung: [Die Aussage beschreibt eine politische Entscheidung ohne Bezug zu Empathie oder Durchsetzungsf\\u00e4higkeit.]\",\n          \"Ergebnis: [none]\\nErl\\u00e4uterung: [Die Aussage beschreibt eine pers\\u00f6nliche Eigenschaft, ohne Bezug auf Empathie, Mitgef\\u00fchl, Durchsetzungsf\\u00e4higkeit oder F\\u00fchrungsanspruch.]\",\n          \"Ergebnis: [emp]\\nErl\\u00e4uterung: [Aussage fordert konkret Mitgef\\u00fchl und Empathie]\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"model_label\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"model_explanation\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Die Aussage hebt das Mitgef\\u00fchl und Einf\\u00fchlungsverm\\u00f6gen des Politikers direkt hervor.\",\n          \"Die Aussage zeigt Empathie, indem sie Verst\\u00e4ndnis f\\u00fcr die Bed\\u00fcrfnisse benachteiligter Menschen ausdr\\u00fcckt.\",\n          \"Die Aussage zeigt einen expliziten Anspruch auf eine F\\u00fchrungsrolle.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}","type":"dataframe","variable_name":"df_testsentences"},"text/html":["\n","  <div id=\"df-72f237e5-7d9f-49a3-8d55-e1c9855fec74\" class=\"colab-df-container\">\n","    <div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>text</th>\n","      <th>expected_label</th>\n","      <th>gpt_explicit_zero_raw</th>\n","      <th>gpt_explicit_few_raw</th>\n","      <th>gpt_implicit_zero_raw</th>\n","      <th>gpt_implicit_few_raw</th>\n","      <th>llama_explicit_zero_raw</th>\n","      <th>llama_explicit_few_raw</th>\n","      <th>llama_implicit_zero_raw</th>\n","      <th>llama_implicit_few_raw</th>\n","      <th>deepseek_explicit_zero_raw</th>\n","      <th>deepseek_explicit_few_raw</th>\n","      <th>deepseek_implicit_zero_raw</th>\n","      <th>deepseek_implicit_few_raw</th>\n","      <th>model_label</th>\n","      <th>model_explanation</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>Ich bin einfühlsam, zeige echtes Mitgefühl.</td>\n","      <td>emp</td>\n","      <td>Ergebnis: emp\\n    Erläuterung: Die Aussage he...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: [Aussage forde...</td>\n","      <td>Ergebnis: emp  \\nErläuterung: Die Aussage beto...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: [Aussage besch...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage fordert...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage fordert...</td>\n","      <td>emp</td>\n","      <td>Die Aussage hebt das Mitgefühl und Einfühlungs...</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>Ich zeige Verständnis für Bedürfnisse benachte...</td>\n","      <td>emp</td>\n","      <td>Ergebnis: emp\\n    Erläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...</td>\n","      <td>Ergebnis: emp\\n    Erläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage zeigt k...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage zeigt e...</td>\n","      <td>emp</td>\n","      <td>Die Aussage zeigt Empathie, indem sie Verständ...</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>Ich bin mitfühlend, warmherzig.</td>\n","      <td>emp</td>\n","      <td>Ergebnis: emp  \\nErläuterung: Die Aussage beto...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: [Aussage forde...</td>\n","      <td>Ergebnis: emp  \\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: Die Aussage \"Ich...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: Die Aussage besc...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage zeigt k...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage fordert...</td>\n","      <td>emp</td>\n","      <td>Die Aussage betont explizit Mitgefühl und Warm...</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>Ich bin eher hart, kaltherzig.</td>\n","      <td>none</td>\n","      <td>Ergebnis: none  \\nErläuterung: Die Aussage zei...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: none  \\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [emp, none]\\n\\nErläuterung: Die Auss...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [emp]\\n\\nErläuterung: Die Aussage \"I...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Aussage macht ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage be...</td>\n","      <td>none</td>\n","      <td>Die Aussage zeigt keine Merkmale von Empathie ...</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>Ich zeige wenig Verständnis und Mitgefühl für ...</td>\n","      <td>none</td>\n","      <td>Ergebnis: [none]\\n    Erläuterung: Die Aussage...</td>\n","      <td>Ergebnis: [none]\\n    Erläuterung: [Aussage ne...</td>\n","      <td>Ergebnis: [emp]\\n    Erläuterung: Der Satz deu...</td>\n","      <td>Ergebnis: [emp]  \\nErläuterung: [Aussage forde...</td>\n","      <td>Ergebnis: [emp]\\n\\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [emp]\\n\\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage m...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage be...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage be...</td>\n","      <td>none</td>\n","      <td>Die Aussage enthält keine positive Bezugnahme ...</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>Ich bin gegenüber Benachteiligten herablassend...</td>\n","      <td>none</td>\n","      <td>Ergebnis: none  \\nErläuterung: Die Aussage zei...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage z...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage z...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [emp, dur, none]\\n\\nErläuterung: Die...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Aussage macht ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage be...</td>\n","      <td>none</td>\n","      <td>Die Aussage zeigt keine Hinweise auf Empathie,...</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>Ich bin machthungrig, erhebe den Führungsanspr...</td>\n","      <td>dur</td>\n","      <td>Ergebnis: [dur]\\n    Erläuterung: Die Aussage ...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage zeigt...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [dur]\\n\\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>dur</td>\n","      <td>Die Aussage zeigt einen deutlichen Führungsans...</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>Ich bin durchsetzungsstark, dominant.</td>\n","      <td>dur</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage be...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...</td>\n","      <td>Ergebnis: dur\\n    Erläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage besc...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage besc...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage be...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage be...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...</td>\n","      <td>dur</td>\n","      <td>Die Aussage betont Durchsetzungsfähigkeit und ...</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>Ich bin eine geborene Führungsperson.</td>\n","      <td>dur</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...</td>\n","      <td>Ergebnis: dur  \\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage \"Ich...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>dur</td>\n","      <td>Die Aussage zeigt einen expliziten Anspruch au...</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>Ich bin zögerlich, halte mich im Hintergrund.</td>\n","      <td>none</td>\n","      <td>Ergebnis: none  \\nErläuterung: Die Aussage zei...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Aussage mach...</td>\n","      <td>Ergebnis: none\\n    Erläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage z...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>none</td>\n","      <td>Die Aussage zeigt keine Elemente von Empathie,...</td>\n","    </tr>\n","    <tr>\n","      <th>10</th>\n","      <td>Ich bin in Diskussionen unaufdringlich, zurück...</td>\n","      <td>none</td>\n","      <td>Ergebnis: none  \\nErläuterung: Die Aussage gib...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Aussage beschr...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage be...</td>\n","      <td>none</td>\n","      <td>Die Aussage gibt keine Hinweise auf Empathie, ...</td>\n","    </tr>\n","    <tr>\n","      <th>11</th>\n","      <td>Ich bleibe lieber in der zweiten Reihe.</td>\n","      <td>none</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage \"Ic...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage \"Ic...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage m...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>dur</td>\n","      <td>Die Aussage zeigt eine Haltung, die auf einen ...</td>\n","    </tr>\n","    <tr>\n","      <th>12</th>\n","      <td>An Kolleginnen nervt mich nichts.</td>\n","      <td>none</td>\n","      <td>Ergebnis: [none]\\n    Erläuterung: Die Aussage...</td>\n","      <td>Ergebnis: [none]\\n    Erläuterung: [Die Aussag...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]\\n    Erläuterung: [Die Aussag...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage ma...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage ma...</td>\n","      <td>none</td>\n","      <td>Die Aussage äußert keine Haltung bezüglich Emp...</td>\n","    </tr>\n","    <tr>\n","      <th>13</th>\n","      <td>Ende April schloss er die Nutzung der nagelneu...</td>\n","      <td>none</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage be...</td>\n","      <td>Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage be...</td>\n","      <td>dur</td>\n","      <td>Die Aussage zeigt die Entschlossenheit, eine w...</td>\n","    </tr>\n","    <tr>\n","      <th>14</th>\n","      <td>Aber es ist halt so, wir leben im Risiko und w...</td>\n","      <td>none</td>\n","      <td>Ergebnis: none  \\nErläuterung: Die Aussage ent...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bez...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...</td>\n","      <td>Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage ma...</td>\n","      <td>none</td>\n","      <td>Die Aussage enthält keine Hinweise auf Empathi...</td>\n","    </tr>\n","    <tr>\n","      <th>15</th>\n","      <td>Und dann fange ich an mit den weiteren Nutztie...</td>\n","      <td>none</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage g...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage z...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Aussage beschr...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage ma...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage ma...</td>\n","      <td>none</td>\n","      <td>Die Aussage bezieht sich weder auf die Bedürfn...</td>\n","    </tr>\n","    <tr>\n","      <th>16</th>\n","      <td>Und das war noch nicht mal so, Blunt.</td>\n","      <td>none</td>\n","      <td>Ergebnis: none  \\nErläuterung: Die Aussage ent...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage ent...</td>\n","      <td>Ergebnis: [none]\\n    Erläuterung: [Die Aussag...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage sugg...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Aussage macht ...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: Die Aussage bezi...</td>\n","      <td>Ergebnis: [dur]\\nErläuterung: [Aussage verweis...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage e...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: [Die Aussage ...</td>\n","      <td>none</td>\n","      <td>Die Aussage enthält keine Elemente, die auf Em...</td>\n","    </tr>\n","    <tr>\n","      <th>17</th>\n","      <td>Schaut man sich bei unseren europäischen Nachb...</td>\n","      <td>none</td>\n","      <td>Ergebnis: [none]\\n    Erläuterung: Die Aussage...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage m...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Der Satz besc...</td>\n","      <td>Ergebnis: [none]\\n    Erläuterung: [Die Aussag...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: Die Aussage bes...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Aussage beschr...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage ma...</td>\n","      <td>Ergebnis: [none]  \\nErläuterung: Die Aussage b...</td>\n","      <td>Ergebnis: [none]\\nErläuterung: [Die Aussage be...</td>\n","      <td>none</td>\n","      <td>Die Aussage beschreibt lediglich eine Beobacht...</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>\n","    <div class=\"colab-df-buttons\">\n","\n","  <div class=\"colab-df-container\">\n","    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-72f237e5-7d9f-49a3-8d55-e1c9855fec74')\"\n","            title=\"Convert this dataframe to an interactive table.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n","    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n","  </svg>\n","    </button>\n","\n","  <style>\n","    .colab-df-container {\n","      display:flex;\n","      gap: 12px;\n","    }\n","\n","    .colab-df-convert {\n","      background-color: #E8F0FE;\n","      border: none;\n","      border-radius: 50%;\n","      cursor: pointer;\n","      display: none;\n","      fill: #1967D2;\n","      height: 32px;\n","      padding: 0 0 0 0;\n","      width: 32px;\n","    }\n","\n","    .colab-df-convert:hover {\n","      background-color: #E2EBFA;\n","      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","      fill: #174EA6;\n","    }\n","\n","    .colab-df-buttons div {\n","      margin-bottom: 4px;\n","    }\n","\n","    [theme=dark] .colab-df-convert {\n","      background-color: #3B4455;\n","      fill: #D2E3FC;\n","    }\n","\n","    [theme=dark] .colab-df-convert:hover {\n","      background-color: #434B5C;\n","      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","      fill: #FFFFFF;\n","    }\n","  </style>\n","\n","    <script>\n","      const buttonEl =\n","        document.querySelector('#df-72f237e5-7d9f-49a3-8d55-e1c9855fec74 button.colab-df-convert');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      async function convertToInteractive(key) {\n","        const element = document.querySelector('#df-72f237e5-7d9f-49a3-8d55-e1c9855fec74');\n","        const dataTable =\n","          await google.colab.kernel.invokeFunction('convertToInteractive',\n","                                                    [key], {});\n","        if (!dataTable) return;\n","\n","        const docLinkHtml = 'Like what you see? Visit the ' +\n","          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n","          + ' to learn more about interactive tables.';\n","        element.innerHTML = '';\n","        dataTable['output_type'] = 'display_data';\n","        await google.colab.output.renderOutput(dataTable, element);\n","        const docLink = document.createElement('div');\n","        docLink.innerHTML = docLinkHtml;\n","        element.appendChild(docLink);\n","      }\n","    </script>\n","  </div>\n","\n","\n","<div id=\"df-f74baf62-c084-4ace-80cd-bd9d015415f4\">\n","  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-f74baf62-c084-4ace-80cd-bd9d015415f4')\"\n","            title=\"Suggest charts\"\n","            style=\"display:none;\">\n","\n","<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","     width=\"24px\">\n","    <g>\n","        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n","    </g>\n","</svg>\n","  </button>\n","\n","<style>\n","  .colab-df-quickchart {\n","      --bg-color: #E8F0FE;\n","      --fill-color: #1967D2;\n","      --hover-bg-color: #E2EBFA;\n","      --hover-fill-color: #174EA6;\n","      --disabled-fill-color: #AAA;\n","      --disabled-bg-color: #DDD;\n","  }\n","\n","  [theme=dark] .colab-df-quickchart {\n","      --bg-color: #3B4455;\n","      --fill-color: #D2E3FC;\n","      --hover-bg-color: #434B5C;\n","      --hover-fill-color: #FFFFFF;\n","      --disabled-bg-color: #3B4455;\n","      --disabled-fill-color: #666;\n","  }\n","\n","  .colab-df-quickchart {\n","    background-color: var(--bg-color);\n","    border: none;\n","    border-radius: 50%;\n","    cursor: pointer;\n","    display: none;\n","    fill: var(--fill-color);\n","    height: 32px;\n","    padding: 0;\n","    width: 32px;\n","  }\n","\n","  .colab-df-quickchart:hover {\n","    background-color: var(--hover-bg-color);\n","    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n","    fill: var(--button-hover-fill-color);\n","  }\n","\n","  .colab-df-quickchart-complete:disabled,\n","  .colab-df-quickchart-complete:disabled:hover {\n","    background-color: var(--disabled-bg-color);\n","    fill: var(--disabled-fill-color);\n","    box-shadow: none;\n","  }\n","\n","  .colab-df-spinner {\n","    border: 2px solid var(--fill-color);\n","    border-color: transparent;\n","    border-bottom-color: var(--fill-color);\n","    animation:\n","      spin 1s steps(1) infinite;\n","  }\n","\n","  @keyframes spin {\n","    0% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","      border-left-color: var(--fill-color);\n","    }\n","    20% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    30% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","      border-right-color: var(--fill-color);\n","    }\n","    40% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    60% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","    }\n","    80% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-bottom-color: var(--fill-color);\n","    }\n","    90% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","    }\n","  }\n","</style>\n","\n","  <script>\n","    async function quickchart(key) {\n","      const quickchartButtonEl =\n","        document.querySelector('#' + key + ' button');\n","      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n","      quickchartButtonEl.classList.add('colab-df-spinner');\n","      try {\n","        const charts = await google.colab.kernel.invokeFunction(\n","            'suggestCharts', [key], {});\n","      } catch (error) {\n","        console.error('Error during call to suggestCharts:', error);\n","      }\n","      quickchartButtonEl.classList.remove('colab-df-spinner');\n","      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n","    }\n","    (() => {\n","      let quickchartButtonEl =\n","        document.querySelector('#df-f74baf62-c084-4ace-80cd-bd9d015415f4 button');\n","      quickchartButtonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","    })();\n","  </script>\n","</div>\n","\n","  <div id=\"id_e37b0cbc-7da6-48c4-aed1-f8194f7babd0\">\n","    <style>\n","      .colab-df-generate {\n","        background-color: #E8F0FE;\n","        border: none;\n","        border-radius: 50%;\n","        cursor: pointer;\n","        display: none;\n","        fill: #1967D2;\n","        height: 32px;\n","        padding: 0 0 0 0;\n","        width: 32px;\n","      }\n","\n","      .colab-df-generate:hover {\n","        background-color: #E2EBFA;\n","        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","        fill: #174EA6;\n","      }\n","\n","      [theme=dark] .colab-df-generate {\n","        background-color: #3B4455;\n","        fill: #D2E3FC;\n","      }\n","\n","      [theme=dark] .colab-df-generate:hover {\n","        background-color: #434B5C;\n","        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","        fill: #FFFFFF;\n","      }\n","    </style>\n","    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df_testsentences')\"\n","            title=\"Generate code using this dataframe.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","       width=\"24px\">\n","    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n","  </svg>\n","    </button>\n","    <script>\n","      (() => {\n","      const buttonEl =\n","        document.querySelector('#id_e37b0cbc-7da6-48c4-aed1-f8194f7babd0 button.colab-df-generate');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      buttonEl.onclick = () => {\n","        google.colab.notebook.generateWithVariable('df_testsentences');\n","      }\n","      })();\n","    </script>\n","  </div>\n","\n","    </div>\n","  </div>\n"],"text/plain":["                                                 text expected_label  \\\n","0         Ich bin einfühlsam, zeige echtes Mitgefühl.            emp   \n","1   Ich zeige Verständnis für Bedürfnisse benachte...            emp   \n","2                     Ich bin mitfühlend, warmherzig.            emp   \n","3                      Ich bin eher hart, kaltherzig.           none   \n","4   Ich zeige wenig Verständnis und Mitgefühl für ...           none   \n","5   Ich bin gegenüber Benachteiligten herablassend...           none   \n","6   Ich bin machthungrig, erhebe den Führungsanspr...            dur   \n","7               Ich bin durchsetzungsstark, dominant.            dur   \n","8               Ich bin eine geborene Führungsperson.            dur   \n","9       Ich bin zögerlich, halte mich im Hintergrund.           none   \n","10  Ich bin in Diskussionen unaufdringlich, zurück...           none   \n","11            Ich bleibe lieber in der zweiten Reihe.           none   \n","12                  An Kolleginnen nervt mich nichts.           none   \n","13  Ende April schloss er die Nutzung der nagelneu...           none   \n","14  Aber es ist halt so, wir leben im Risiko und w...           none   \n","15  Und dann fange ich an mit den weiteren Nutztie...           none   \n","16              Und das war noch nicht mal so, Blunt.           none   \n","17  Schaut man sich bei unseren europäischen Nachb...           none   \n","\n","                                gpt_explicit_zero_raw  \\\n","0   Ergebnis: emp\\n    Erläuterung: Die Aussage he...   \n","1   Ergebnis: emp\\n    Erläuterung: Die Aussage ze...   \n","2   Ergebnis: emp  \\nErläuterung: Die Aussage beto...   \n","3   Ergebnis: none  \\nErläuterung: Die Aussage zei...   \n","4   Ergebnis: [none]\\n    Erläuterung: Die Aussage...   \n","5   Ergebnis: none  \\nErläuterung: Die Aussage zei...   \n","6   Ergebnis: [dur]\\n    Erläuterung: Die Aussage ...   \n","7   Ergebnis: [dur]  \\nErläuterung: Die Aussage be...   \n","8   Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","9   Ergebnis: none  \\nErläuterung: Die Aussage zei...   \n","10  Ergebnis: none  \\nErläuterung: Die Aussage gib...   \n","11  Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","12  Ergebnis: [none]\\n    Erläuterung: Die Aussage...   \n","13  Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","14  Ergebnis: none  \\nErläuterung: Die Aussage ent...   \n","15  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","16  Ergebnis: none  \\nErläuterung: Die Aussage ent...   \n","17  Ergebnis: [none]\\n    Erläuterung: Die Aussage...   \n","\n","                                 gpt_explicit_few_raw  \\\n","0   Ergebnis: [emp]  \\nErläuterung: [Aussage forde...   \n","1   Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...   \n","2   Ergebnis: [emp]  \\nErläuterung: [Aussage forde...   \n","3   Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","4   Ergebnis: [none]\\n    Erläuterung: [Aussage ne...   \n","5   Ergebnis: [none]  \\nErläuterung: Die Aussage z...   \n","6   Ergebnis: [dur]  \\nErläuterung: [Aussage zeigt...   \n","7   Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...   \n","8   Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...   \n","9   Ergebnis: [none]  \\nErläuterung: [Aussage mach...   \n","10  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","11  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","12  Ergebnis: [none]\\n    Erläuterung: [Die Aussag...   \n","13  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","14  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","15  Ergebnis: [none]  \\nErläuterung: Die Aussage g...   \n","16  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","17  Ergebnis: [none]  \\nErläuterung: Die Aussage m...   \n","\n","                                gpt_implicit_zero_raw  \\\n","0   Ergebnis: emp  \\nErläuterung: Die Aussage beto...   \n","1   Ergebnis: emp\\n    Erläuterung: Die Aussage ze...   \n","2   Ergebnis: emp  \\nErläuterung: Die Aussage zeig...   \n","3   Ergebnis: none  \\nErläuterung: Die Aussage bes...   \n","4   Ergebnis: [emp]\\n    Erläuterung: Der Satz deu...   \n","5   Ergebnis: [none]  \\nErläuterung: Die Aussage z...   \n","6   Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","7   Ergebnis: dur\\n    Erläuterung: Die Aussage ze...   \n","8   Ergebnis: dur  \\nErläuterung: Die Aussage zeig...   \n","9   Ergebnis: none\\n    Erläuterung: Die Aussage e...   \n","10  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","11  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","12  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","13  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","14  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","15  Ergebnis: [none]  \\nErläuterung: Die Aussage z...   \n","16  Ergebnis: [none]\\nErläuterung: Die Aussage ent...   \n","17  Ergebnis: [none]  \\nErläuterung: Der Satz besc...   \n","\n","                                 gpt_implicit_few_raw  \\\n","0   Ergebnis: [emp]  \\nErläuterung: [Aussage besch...   \n","1   Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...   \n","2   Ergebnis: [emp]  \\nErläuterung: [Aussage zeigt...   \n","3   Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","4   Ergebnis: [emp]  \\nErläuterung: [Aussage forde...   \n","5   Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","6   Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...   \n","7   Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...   \n","8   Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...   \n","9   Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","10  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","11  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","12  Ergebnis: [none]\\n    Erläuterung: [Die Aussag...   \n","13  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","14  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","15  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","16  Ergebnis: [none]\\n    Erläuterung: [Die Aussag...   \n","17  Ergebnis: [none]\\n    Erläuterung: [Die Aussag...   \n","\n","                              llama_explicit_zero_raw  \\\n","0   Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...   \n","1   Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...   \n","2   Ergebnis: [emp]\\nErläuterung: Die Aussage \"Ich...   \n","3   Ergebnis: [emp, none]\\n\\nErläuterung: Die Auss...   \n","4   Ergebnis: [emp]\\n\\nErläuterung: Die Aussage ze...   \n","5   Ergebnis: [emp, dur, none]\\n\\nErläuterung: Die...   \n","6   Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","7   Ergebnis: [dur]\\nErläuterung: Die Aussage besc...   \n","8   Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","9   Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","10  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","11  Ergebnis: [none]\\nErläuterung: Die Aussage \"Ic...   \n","12  Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","13  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","14  Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","15  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","16  Ergebnis: [dur]\\nErläuterung: Die Aussage sugg...   \n","17  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","\n","                               llama_explicit_few_raw  \\\n","0   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","1   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","2   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","3   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","4   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","5   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","6   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","7   Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...   \n","8   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","9   Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","10  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","11  Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","12  Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...   \n","13  Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...   \n","14  Ergebnis: [none]\\nErläuterung: Die Aussage bez...   \n","15  Ergebnis: [none]\\nErläuterung: [Aussage beschr...   \n","16  Ergebnis: [none]\\nErläuterung: [Aussage macht ...   \n","17  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","\n","                              llama_implicit_zero_raw  \\\n","0   Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...   \n","1   Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...   \n","2   Ergebnis: [emp]\\nErläuterung: Die Aussage besc...   \n","3   Ergebnis: [emp]\\n\\nErläuterung: Die Aussage \"I...   \n","4   Ergebnis: [emp]\\n\\nErläuterung: Die Aussage ze...   \n","5   Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","6   Ergebnis: [dur]\\n\\nErläuterung: Die Aussage ze...   \n","7   Ergebnis: [dur]\\nErläuterung: Die Aussage besc...   \n","8   Ergebnis: [dur]\\nErläuterung: Die Aussage \"Ich...   \n","9   Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","10  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","11  Ergebnis: [none]\\nErläuterung: Die Aussage \"Ic...   \n","12  Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","13  Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","14  Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","15  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","16  Ergebnis: [dur]\\nErläuterung: Die Aussage bezi...   \n","17  Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","\n","                               llama_implicit_few_raw  \\\n","0   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","1   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","2   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","3   Ergebnis: [none]\\nErläuterung: [Aussage macht ...   \n","4   Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","5   Ergebnis: [none]\\nErläuterung: [Aussage macht ...   \n","6   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","7   Ergebnis: [dur]\\nErläuterung: [Aussage bezieht...   \n","8   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","9   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","10  Ergebnis: [none]\\nErläuterung: [Aussage beschr...   \n","11  Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","12  Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","13  Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","14  Ergebnis: [emp]\\nErläuterung: [Aussage bezieht...   \n","15  Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","16  Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","17  Ergebnis: [none]\\nErläuterung: [Aussage beschr...   \n","\n","                           deepseek_explicit_zero_raw  \\\n","0   Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...   \n","1   Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...   \n","2   Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...   \n","3   Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","4   Ergebnis: [none]  \\nErläuterung: Die Aussage m...   \n","5   Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","6   Ergebnis: [dur]\\nErläuterung: Die Aussage zeig...   \n","7   Ergebnis: [dur]  \\nErläuterung: Die Aussage be...   \n","8   Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","9   Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","10  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","11  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","12  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","13  Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","14  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","15  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","16  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","17  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","\n","                            deepseek_explicit_few_raw  \\\n","0   Ergebnis: [emp]\\nErläuterung: [Aussage fordert...   \n","1   Ergebnis: [emp]\\nErläuterung: [Aussage zeigt k...   \n","2   Ergebnis: [emp]\\nErläuterung: [Aussage zeigt k...   \n","3   Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","4   Ergebnis: [none]\\nErläuterung: [Die Aussage be...   \n","5   Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","6   Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...   \n","7   Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...   \n","8   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...   \n","9   Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","10  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","11  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","12  Ergebnis: [none]\\nErläuterung: [Die Aussage ma...   \n","13  Ergebnis: [none]\\nErläuterung: [Die Aussage be...   \n","14  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","15  Ergebnis: [none]\\nErläuterung: [Die Aussage ma...   \n","16  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...   \n","17  Ergebnis: [none]\\nErläuterung: [Die Aussage ma...   \n","\n","                           deepseek_implicit_zero_raw  \\\n","0   Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...   \n","1   Ergebnis: [emp]  \\nErläuterung: Die Aussage ze...   \n","2   Ergebnis: [emp]\\nErläuterung: Die Aussage zeig...   \n","3   Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","4   Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","5   Ergebnis: [none]\\nErläuterung: Die Aussage bes...   \n","6   Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","7   Ergebnis: [dur]  \\nErläuterung: Die Aussage be...   \n","8   Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","9   Ergebnis: [none]  \\nErläuterung: Die Aussage z...   \n","10  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","11  Ergebnis: [none]  \\nErläuterung: Die Aussage m...   \n","12  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","13  Ergebnis: [dur]  \\nErläuterung: Die Aussage ze...   \n","14  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","15  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","16  Ergebnis: [none]  \\nErläuterung: Die Aussage e...   \n","17  Ergebnis: [none]  \\nErläuterung: Die Aussage b...   \n","\n","                            deepseek_implicit_few_raw model_label  \\\n","0   Ergebnis: [emp]\\nErläuterung: [Aussage fordert...         emp   \n","1   Ergebnis: [emp]\\nErläuterung: [Aussage zeigt e...         emp   \n","2   Ergebnis: [emp]\\nErläuterung: [Aussage fordert...         emp   \n","3   Ergebnis: [none]\\nErläuterung: [Die Aussage be...        none   \n","4   Ergebnis: [none]\\nErläuterung: [Die Aussage be...        none   \n","5   Ergebnis: [none]\\nErläuterung: [Die Aussage be...        none   \n","6   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...         dur   \n","7   Ergebnis: [dur]  \\nErläuterung: [Aussage verwe...         dur   \n","8   Ergebnis: [dur]\\nErläuterung: [Aussage verweis...         dur   \n","9   Ergebnis: [none]  \\nErläuterung: [Die Aussage ...        none   \n","10  Ergebnis: [none]\\nErläuterung: [Die Aussage be...        none   \n","11  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...         dur   \n","12  Ergebnis: [none]\\nErläuterung: [Die Aussage ma...        none   \n","13  Ergebnis: [none]\\nErläuterung: [Die Aussage be...         dur   \n","14  Ergebnis: [none]\\nErläuterung: [Die Aussage ma...        none   \n","15  Ergebnis: [none]\\nErläuterung: [Die Aussage ma...        none   \n","16  Ergebnis: [none]  \\nErläuterung: [Die Aussage ...        none   \n","17  Ergebnis: [none]\\nErläuterung: [Die Aussage be...        none   \n","\n","                                    model_explanation  \n","0   Die Aussage hebt das Mitgefühl und Einfühlungs...  \n","1   Die Aussage zeigt Empathie, indem sie Verständ...  \n","2   Die Aussage betont explizit Mitgefühl und Warm...  \n","3   Die Aussage zeigt keine Merkmale von Empathie ...  \n","4   Die Aussage enthält keine positive Bezugnahme ...  \n","5   Die Aussage zeigt keine Hinweise auf Empathie,...  \n","6   Die Aussage zeigt einen deutlichen Führungsans...  \n","7   Die Aussage betont Durchsetzungsfähigkeit und ...  \n","8   Die Aussage zeigt einen expliziten Anspruch au...  \n","9   Die Aussage zeigt keine Elemente von Empathie,...  \n","10  Die Aussage gibt keine Hinweise auf Empathie, ...  \n","11  Die Aussage zeigt eine Haltung, die auf einen ...  \n","12  Die Aussage äußert keine Haltung bezüglich Emp...  \n","13  Die Aussage zeigt die Entschlossenheit, eine w...  \n","14  Die Aussage enthält keine Hinweise auf Empathi...  \n","15  Die Aussage bezieht sich weder auf die Bedürfn...  \n","16  Die Aussage enthält keine Elemente, die auf Em...  \n","17  Die Aussage beschreibt lediglich eine Beobacht...  "]},"execution_count":58,"metadata":{},"output_type":"execute_result"}],"source":["def process_classification(model_output):\n","    \"\"\"Processes the classification output into two columns.\"\"\"\n","    if not isinstance(model_output, str):\n","        return '', ''  # Handle cases where GPT output is not a string\n","\n","    try:\n","        category_start = model_output.find('Ergebnis:')\n","        explanation_start = model_output.find('Erläuterung:')\n","\n","        if category_start == -1 or explanation_start == -1:\n","            return '', ''  # If either keyword is missing, return empty values\n","\n","        categories = model_output[category_start + len('Ergebnis:'):explanation_start].strip()\n","        explanation = model_output[explanation_start + len('Erläuterung:'):].strip()\n","\n","        # Normalize formatting issues\n","        categories = categories.replace('[', '').replace(']', '').replace(' ', '').replace('\\n', '')\n","        explanation = explanation.replace('\\n', ' ').strip()\n","\n","        return categories, explanation\n","\n","    except Exception as e:\n","        print(f\"Error processing classification: {e}\")\n","        return '', ''\n","\n","\n","\n","test = test_sentences\n","\n","test[['model_label_zero_explicit', 'model_explanation']] = test[\"gpt_explicit_zero_raw\"].apply(lambda x: pd.Series(process_classification(x)))\n"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":1000},"executionInfo":{"elapsed":53,"status":"ok","timestamp":1740167558631,"user":{"displayName":"Lukas","userId":"09276477477582089903"},"user_tz":-60},"id":"PbhvQQVD8Ujn","outputId":"478cf037-5525-4e24-e737-ef0efe49ba1d"},"outputs":[{"data":{"application/vnd.google.colaboratory.intrinsic+json":{"summary":"{\n  \"name\": \"test_sentences\",\n  \"rows\": 18,\n  \"fields\": [\n    {\n      \"column\": \"text\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 18,\n        \"samples\": [\n          \"Ich bin einf\\u00fchlsam, zeige echtes Mitgef\\u00fchl.\",\n          \"Ich zeige Verst\\u00e4ndnis f\\u00fcr Bed\\u00fcrfnisse benachteiligter Menschen.\",\n          \"Ich bin eine geborene F\\u00fchrungsperson.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gpt_explicit_zero_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gpt_explicit_few_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gpt_implicit_zero_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gpt_implicit_few_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"llama_explicit_zero_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"emp,none\",\n          \"none\",\n          \"emp,dur,none\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"llama_explicit_few_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"dur\",\n          \"none\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"llama_implicit_zero_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"dur\",\n          \"none\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"llama_implicit_few_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"deepseek_explicit_zero_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"deepseek_explicit_few_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"deepseek_implicit_zero_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"deepseek_implicit_few_prediction\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"emp\",\n          \"none\",\n          \"dur\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}","type":"dataframe","variable_name":"test_sentences"},"text/html":["\n","  <div id=\"df-54c0d789-ea00-42ad-82f3-5cddb3a378ed\" class=\"colab-df-container\">\n","    <div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>text</th>\n","      <th>gpt_explicit_zero_prediction</th>\n","      <th>gpt_explicit_few_prediction</th>\n","      <th>gpt_implicit_zero_prediction</th>\n","      <th>gpt_implicit_few_prediction</th>\n","      <th>llama_explicit_zero_prediction</th>\n","      <th>llama_explicit_few_prediction</th>\n","      <th>llama_implicit_zero_prediction</th>\n","      <th>llama_implicit_few_prediction</th>\n","      <th>deepseek_explicit_zero_prediction</th>\n","      <th>deepseek_explicit_few_prediction</th>\n","      <th>deepseek_implicit_zero_prediction</th>\n","      <th>deepseek_implicit_few_prediction</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>Ich bin einfühlsam, zeige echtes Mitgefühl.</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>Ich zeige Verständnis für Bedürfnisse benachte...</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>Ich bin mitfühlend, warmherzig.</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>Ich bin eher hart, kaltherzig.</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>emp,none</td>\n","      <td>dur</td>\n","      <td>emp</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>Ich zeige wenig Verständnis und Mitgefühl für ...</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>emp</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>Ich bin gegenüber Benachteiligten herablassend...</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>emp,dur,none</td>\n","      <td>emp</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>Ich bin machthungrig, erhebe den Führungsanspr...</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>Ich bin durchsetzungsstark, dominant.</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>Ich bin eine geborene Führungsperson.</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>Ich bin zögerlich, halte mich im Hintergrund.</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>10</th>\n","      <td>Ich bin in Diskussionen unaufdringlich, zurück...</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>11</th>\n","      <td>Ich bleibe lieber in der zweiten Reihe.</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>emp</td>\n","      <td>none</td>\n","      <td>emp</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>12</th>\n","      <td>An Kolleginnen nervt mich nichts.</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>emp</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>13</th>\n","      <td>Ende April schloss er die Nutzung der nagelneu...</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>14</th>\n","      <td>Aber es ist halt so, wir leben im Risiko und w...</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>emp</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>15</th>\n","      <td>Und dann fange ich an mit den weiteren Nutztie...</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>16</th>\n","      <td>Und das war noch nicht mal so, Blunt.</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>dur</td>\n","      <td>dur</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","    <tr>\n","      <th>17</th>\n","      <td>Schaut man sich bei unseren europäischen Nachb...</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","      <td>none</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>\n","    <div class=\"colab-df-buttons\">\n","\n","  <div class=\"colab-df-container\">\n","    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-54c0d789-ea00-42ad-82f3-5cddb3a378ed')\"\n","            title=\"Convert this dataframe to an interactive table.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n","    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n","  </svg>\n","    </button>\n","\n","  <style>\n","    .colab-df-container {\n","      display:flex;\n","      gap: 12px;\n","    }\n","\n","    .colab-df-convert {\n","      background-color: #E8F0FE;\n","      border: none;\n","      border-radius: 50%;\n","      cursor: pointer;\n","      display: none;\n","      fill: #1967D2;\n","      height: 32px;\n","      padding: 0 0 0 0;\n","      width: 32px;\n","    }\n","\n","    .colab-df-convert:hover {\n","      background-color: #E2EBFA;\n","      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","      fill: #174EA6;\n","    }\n","\n","    .colab-df-buttons div {\n","      margin-bottom: 4px;\n","    }\n","\n","    [theme=dark] .colab-df-convert {\n","      background-color: #3B4455;\n","      fill: #D2E3FC;\n","    }\n","\n","    [theme=dark] .colab-df-convert:hover {\n","      background-color: #434B5C;\n","      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","      fill: #FFFFFF;\n","    }\n","  </style>\n","\n","    <script>\n","      const buttonEl =\n","        document.querySelector('#df-54c0d789-ea00-42ad-82f3-5cddb3a378ed button.colab-df-convert');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      async function convertToInteractive(key) {\n","        const element = document.querySelector('#df-54c0d789-ea00-42ad-82f3-5cddb3a378ed');\n","        const dataTable =\n","          await google.colab.kernel.invokeFunction('convertToInteractive',\n","                                                    [key], {});\n","        if (!dataTable) return;\n","\n","        const docLinkHtml = 'Like what you see? Visit the ' +\n","          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n","          + ' to learn more about interactive tables.';\n","        element.innerHTML = '';\n","        dataTable['output_type'] = 'display_data';\n","        await google.colab.output.renderOutput(dataTable, element);\n","        const docLink = document.createElement('div');\n","        docLink.innerHTML = docLinkHtml;\n","        element.appendChild(docLink);\n","      }\n","    </script>\n","  </div>\n","\n","\n","<div id=\"df-51a041e7-3e17-4372-8d06-ed2edf57b46f\">\n","  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-51a041e7-3e17-4372-8d06-ed2edf57b46f')\"\n","            title=\"Suggest charts\"\n","            style=\"display:none;\">\n","\n","<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","     width=\"24px\">\n","    <g>\n","        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n","    </g>\n","</svg>\n","  </button>\n","\n","<style>\n","  .colab-df-quickchart {\n","      --bg-color: #E8F0FE;\n","      --fill-color: #1967D2;\n","      --hover-bg-color: #E2EBFA;\n","      --hover-fill-color: #174EA6;\n","      --disabled-fill-color: #AAA;\n","      --disabled-bg-color: #DDD;\n","  }\n","\n","  [theme=dark] .colab-df-quickchart {\n","      --bg-color: #3B4455;\n","      --fill-color: #D2E3FC;\n","      --hover-bg-color: #434B5C;\n","      --hover-fill-color: #FFFFFF;\n","      --disabled-bg-color: #3B4455;\n","      --disabled-fill-color: #666;\n","  }\n","\n","  .colab-df-quickchart {\n","    background-color: var(--bg-color);\n","    border: none;\n","    border-radius: 50%;\n","    cursor: pointer;\n","    display: none;\n","    fill: var(--fill-color);\n","    height: 32px;\n","    padding: 0;\n","    width: 32px;\n","  }\n","\n","  .colab-df-quickchart:hover {\n","    background-color: var(--hover-bg-color);\n","    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n","    fill: var(--button-hover-fill-color);\n","  }\n","\n","  .colab-df-quickchart-complete:disabled,\n","  .colab-df-quickchart-complete:disabled:hover {\n","    background-color: var(--disabled-bg-color);\n","    fill: var(--disabled-fill-color);\n","    box-shadow: none;\n","  }\n","\n","  .colab-df-spinner {\n","    border: 2px solid var(--fill-color);\n","    border-color: transparent;\n","    border-bottom-color: var(--fill-color);\n","    animation:\n","      spin 1s steps(1) infinite;\n","  }\n","\n","  @keyframes spin {\n","    0% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","      border-left-color: var(--fill-color);\n","    }\n","    20% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    30% {\n","      border-color: transparent;\n","      border-left-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","      border-right-color: var(--fill-color);\n","    }\n","    40% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-top-color: var(--fill-color);\n","    }\n","    60% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","    }\n","    80% {\n","      border-color: transparent;\n","      border-right-color: var(--fill-color);\n","      border-bottom-color: var(--fill-color);\n","    }\n","    90% {\n","      border-color: transparent;\n","      border-bottom-color: var(--fill-color);\n","    }\n","  }\n","</style>\n","\n","  <script>\n","    async function quickchart(key) {\n","      const quickchartButtonEl =\n","        document.querySelector('#' + key + ' button');\n","      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n","      quickchartButtonEl.classList.add('colab-df-spinner');\n","      try {\n","        const charts = await google.colab.kernel.invokeFunction(\n","            'suggestCharts', [key], {});\n","      } catch (error) {\n","        console.error('Error during call to suggestCharts:', error);\n","      }\n","      quickchartButtonEl.classList.remove('colab-df-spinner');\n","      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n","    }\n","    (() => {\n","      let quickchartButtonEl =\n","        document.querySelector('#df-51a041e7-3e17-4372-8d06-ed2edf57b46f button');\n","      quickchartButtonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","    })();\n","  </script>\n","</div>\n","\n","  <div id=\"id_de2b23eb-a295-47ca-9373-99491bbf721a\">\n","    <style>\n","      .colab-df-generate {\n","        background-color: #E8F0FE;\n","        border: none;\n","        border-radius: 50%;\n","        cursor: pointer;\n","        display: none;\n","        fill: #1967D2;\n","        height: 32px;\n","        padding: 0 0 0 0;\n","        width: 32px;\n","      }\n","\n","      .colab-df-generate:hover {\n","        background-color: #E2EBFA;\n","        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n","        fill: #174EA6;\n","      }\n","\n","      [theme=dark] .colab-df-generate {\n","        background-color: #3B4455;\n","        fill: #D2E3FC;\n","      }\n","\n","      [theme=dark] .colab-df-generate:hover {\n","        background-color: #434B5C;\n","        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n","        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n","        fill: #FFFFFF;\n","      }\n","    </style>\n","    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('test_sentences')\"\n","            title=\"Generate code using this dataframe.\"\n","            style=\"display:none;\">\n","\n","  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n","       width=\"24px\">\n","    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n","  </svg>\n","    </button>\n","    <script>\n","      (() => {\n","      const buttonEl =\n","        document.querySelector('#id_de2b23eb-a295-47ca-9373-99491bbf721a button.colab-df-generate');\n","      buttonEl.style.display =\n","        google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n","      buttonEl.onclick = () => {\n","        google.colab.notebook.generateWithVariable('test_sentences');\n","      }\n","      })();\n","    </script>\n","  </div>\n","\n","    </div>\n","  </div>\n"],"text/plain":["                                                 text  \\\n","0         Ich bin einfühlsam, zeige echtes Mitgefühl.   \n","1   Ich zeige Verständnis für Bedürfnisse benachte...   \n","2                     Ich bin mitfühlend, warmherzig.   \n","3                      Ich bin eher hart, kaltherzig.   \n","4   Ich zeige wenig Verständnis und Mitgefühl für ...   \n","5   Ich bin gegenüber Benachteiligten herablassend...   \n","6   Ich bin machthungrig, erhebe den Führungsanspr...   \n","7               Ich bin durchsetzungsstark, dominant.   \n","8               Ich bin eine geborene Führungsperson.   \n","9       Ich bin zögerlich, halte mich im Hintergrund.   \n","10  Ich bin in Diskussionen unaufdringlich, zurück...   \n","11            Ich bleibe lieber in der zweiten Reihe.   \n","12                  An Kolleginnen nervt mich nichts.   \n","13  Ende April schloss er die Nutzung der nagelneu...   \n","14  Aber es ist halt so, wir leben im Risiko und w...   \n","15  Und dann fange ich an mit den weiteren Nutztie...   \n","16              Und das war noch nicht mal so, Blunt.   \n","17  Schaut man sich bei unseren europäischen Nachb...   \n","\n","   gpt_explicit_zero_prediction gpt_explicit_few_prediction  \\\n","0                           emp                         emp   \n","1                           emp                         emp   \n","2                           emp                         emp   \n","3                          none                        none   \n","4                          none                        none   \n","5                          none                        none   \n","6                           dur                         dur   \n","7                           dur                         dur   \n","8                           dur                         dur   \n","9                          none                        none   \n","10                         none                        none   \n","11                          dur                        none   \n","12                         none                        none   \n","13                          dur                        none   \n","14                         none                        none   \n","15                         none                        none   \n","16                         none                        none   \n","17                         none                        none   \n","\n","   gpt_implicit_zero_prediction gpt_implicit_few_prediction  \\\n","0                           emp                         emp   \n","1                           emp                         emp   \n","2                           emp                         emp   \n","3                          none                        none   \n","4                           emp                         emp   \n","5                          none                        none   \n","6                           dur                         dur   \n","7                           dur                         dur   \n","8                           dur                         dur   \n","9                          none                        none   \n","10                         none                        none   \n","11                         none                        none   \n","12                         none                        none   \n","13                         none                        none   \n","14                         none                        none   \n","15                         none                        none   \n","16                         none                        none   \n","17                         none                        none   \n","\n","   llama_explicit_zero_prediction llama_explicit_few_prediction  \\\n","0                             emp                           emp   \n","1                             emp                           emp   \n","2                             emp                           emp   \n","3                        emp,none                           dur   \n","4                             emp                           emp   \n","5                    emp,dur,none                           emp   \n","6                             dur                           dur   \n","7                             dur                           dur   \n","8                             dur                           dur   \n","9                            none                          none   \n","10                           none                          none   \n","11                           none                           emp   \n","12                            dur                           dur   \n","13                           none                           dur   \n","14                            dur                          none   \n","15                           none                          none   \n","16                            dur                          none   \n","17                           none                          none   \n","\n","   llama_implicit_zero_prediction llama_implicit_few_prediction  \\\n","0                             emp                           emp   \n","1                             emp                           emp   \n","2                             emp                           emp   \n","3                             emp                          none   \n","4                             emp                           emp   \n","5                             dur                          none   \n","6                             dur                           dur   \n","7                             dur                           dur   \n","8                             dur                           dur   \n","9                            none                           dur   \n","10                           none                          none   \n","11                           none                           emp   \n","12                            dur                           emp   \n","13                            dur                           dur   \n","14                            dur                           emp   \n","15                           none                           dur   \n","16                            dur                           dur   \n","17                           none                          none   \n","\n","   deepseek_explicit_zero_prediction deepseek_explicit_few_prediction  \\\n","0                                emp                              emp   \n","1                                emp                              emp   \n","2                                emp                              emp   \n","3                               none                             none   \n","4                               none                             none   \n","5                               none                             none   \n","6                                dur                              dur   \n","7                                dur                              dur   \n","8                                dur                              dur   \n","9                               none                             none   \n","10                              none                             none   \n","11                              none                             none   \n","12                              none                             none   \n","13                               dur                             none   \n","14                              none                             none   \n","15                              none                             none   \n","16                              none                             none   \n","17                              none                             none   \n","\n","   deepseek_implicit_zero_prediction deepseek_implicit_few_prediction  \n","0                                emp                              emp  \n","1                                emp                              emp  \n","2                                emp                              emp  \n","3                               none                             none  \n","4                               none                             none  \n","5                               none                             none  \n","6                                dur                              dur  \n","7                                dur                              dur  \n","8                                dur                              dur  \n","9                               none                             none  \n","10                              none                             none  \n","11                              none                             none  \n","12                              none                             none  \n","13                               dur                             none  \n","14                              none                             none  \n","15                              none                             none  \n","16                              none                             none  \n","17                              none                             none  "]},"execution_count":71,"metadata":{},"output_type":"execute_result"}],"source":["def extract_prediction(model_output):\n","    \"\"\"Extracts the classification result from the model output.\"\"\"\n","    if not isinstance(model_output, str):\n","        return ''  # Handle cases where output is not a string\n","\n","    try:\n","        category_start = model_output.find('Ergebnis:')\n","        explanation_start = model_output.find('Erläuterung:')\n","\n","        if category_start == -1:\n","            return ''  # If \"Ergebnis:\" is missing, return empty value\n","\n","        categories = model_output[category_start + len('Ergebnis:'):explanation_start if explanation_start != -1 else None].strip()\n","        categories = categories.replace('[', '').replace(']', '').replace(' ', '').replace('\\n', '')\n","        return categories\n","\n","    except Exception as e:\n","        print(f\"Error processing classification: {e}\")\n","        return ''\n","\n","# Extract predictions for all models\n","for method_name in [\n","    \"gpt_explicit_zero\", \"gpt_explicit_few\", \"gpt_implicit_zero\", \"gpt_implicit_few\",\n","    \"llama_explicit_zero\", \"llama_explicit_few\", \"llama_implicit_zero\", \"llama_implicit_few\",\n","    \"deepseek_explicit_zero\", \"deepseek_explicit_few\", \"deepseek_implicit_zero\", \"deepseek_implicit_few\"\n","]:\n","    test_sentences[f\"{method_name}_prediction\"] = test_sentences[f\"{method_name}_raw\"].apply(extract_prediction)\n","\n","# Drop raw outputs, keeping only the final predictions\n","columns_to_keep = [\"text\"] + [f\"{method}_prediction\" for method in [\n","    \"gpt_explicit_zero\", \"gpt_explicit_few\", \"gpt_implicit_zero\", \"gpt_implicit_few\",\n","    \"llama_explicit_zero\", \"llama_explicit_few\", \"llama_implicit_zero\", \"llama_implicit_few\",\n","    \"deepseek_explicit_zero\", \"deepseek_explicit_few\", \"deepseek_implicit_zero\", \"deepseek_implicit_few\"\n","]]\n","test_sentences = test_sentences[columns_to_keep]\n","test_sentences.to_csv(\"/content/drive/MyDrive/personality/classification/data/test_sentences/test_sentences_final_prompting_predictions.csv\", index=False)"]}],"metadata":{"colab":{"machine_shape":"hm","provenance":[],"authorship_tag":"ABX9TyMdMkwoJNDYcvRzVHw8Bpvd"},"kernelspec":{"display_name":"Python 3","name":"python3"},"language_info":{"name":"python"}},"nbformat":4,"nbformat_minor":0}